New terrain features

@C2C Team

So with the new terrain I would like to have the cold and aird promotions cover more than just desert and tundra. The tag for it is <IgnoreTerrainDamage>TERRAIN_DESERT</IgnoreTerrainDamage>, however I am unsure how you add more terrain types to this. In short i would like to change them to ...

Arctic Combat = No Terrain Damage from Tundra, Permafrost or Ice.

Desert Combat = No Terrain Damage from Desert, Dunes or Salt Flats.

You can't, it is a one terrain only. Which was a problem before since cold only protected you against one of the two we had the. Naturally you could get Koshling to add it to his list of things to do.

Won't affect other map scripts nor scenarios which don't have those terrains.
 
You can't, it is a one terrain only. Which was a problem before since cold only protected you against one of the two we had the. Naturally you could get Koshling to add it to his list of things to do.

Won't affect other map scripts nor scenarios which don't have those terrains.

So do you think we should have Koshling change it or just add a bunch of new promotions for each terrain? Ex. Dune Combat, Ice Combat, etc. (maybe with better names).
 
Ok so I went ahead and I added new promotions which include Arctic Combat III, Arctic Combat IV, Desert Combat III, Desert Combat IV. They work like this ...

Arctic Combat II -> Arctic Combat III -> Arctic Combat IV
Desert Combat II -> Desert Combat III -> Desert Combat IV

Arctic Combat II = Bonuses to Attack, Defense and No Terrain Damage for Tundra Terrain.
Arctic Combat III = Bonuses to Attack, Defense and No Terrain Damage for Permafrost Terrain.
Arctic Combat IV = Bonuses to Attack, Defense and No Terrain Damage for Ice Terrain.
Desert Combat II = Bonuses to Attack, Defense and No Terrain Damage for Desert Terrain.
Desert Combat III = Bonuses to Attack, Defense and No Terrain Damage for Dunes Terrain.
Desert Combat IV = Bonuses to Attack, Defense and No Terrain Damage for Salt Flat Terrain.

I also tweaked all the Camels to get Desert Combat II, III and IV and all Mammoths to get Arctic Combat II, III and IV.

This should help people like me who use terrain damage setting in my games.

They still need some new buttons so for the moment they are just using the Combat 2 ones.
 
Ok I fixed terrain stats and added a new barren terrain button.

However the new terrain button is not showing up. Could someone go look at the new files on the SVN and see why the barren button is still the plains button?

EDIT: Something is very wrong with the terrain. I was trying to place terrain and they were all mixed up.

For instance ...

Lush = Appeared as Mountains Underwater
Barren = Appeared as Black Water
Rocky = Appeared as Green Water
Scrub = Appeared as Green Water
Dunes = Appeared as Lush Terrain
Salt Flats = Appeared as Plains
Permafrost = Appeared as Rocky
Muddy = Appeared as Scrub

So yeah they re all screwy. Note this was on a Perfect World map. Note that the changed Desert terrain showed up fine.
It seems like there are 4 weird buttons there and then it goes on as if those buttons would not have been there in regard to functionality.
And the 4 weird buttons have aspects of the buttons that would have been there without the new terrains: Change to Peak, ..., change to water.

So the functionality of the lush button got moved to the dunes button, the barren to the salt flats, the rocky to the permafrost and the scrub to the muddy.
 
I found the problem.
The code for the Worldbuilder removes the terrain entries that are plot types like hills and peaks from the shown icons but still uses simply the index as terrain type.
So at the 9th spot in the terrain xml that is loaded first is the peak, so it tries to place that as a terrain when you click on the 9th button. At 10th you get hill, at 11th and 12th the slimy ocean stuff.

Attached is a fix for that that is more a hack than anything because it will break if the order of the stuff above in the terrain info xml gets changed.
 
I found the problem.
The code for the Worldbuilder removes the terrain entries that are plot types like hills and peaks from the shown icons but still uses simply the index as terrain type.
So at the 9th spot in the terrain xml that is loaded first is the peak, so it tries to place that as a terrain when you click on the 9th button. At 10th you get hill, at 11th and 12th the slimy ocean stuff.

Attached is a fix for that that is more a hack than anything because it will break if the order of the stuff above in the terrain info xml gets changed.

Ah ok. BTW where's this file go? Like the location.
 
Ah ok. BTW where's this file go? Like the location.
It belongs in Python/Screens.

I have changed the terrain generator code in CvMapGeneratorUtil.py, that several map scripts use (e.g. Fractal). It places all the new terrains now. Probably could use some post processing in parts.
Some other map scripts use part of that code as well but overwrite a part and will not work with this change. Not too hard to update them though (should be mostly copy/paste).
 
Thought this could be something to think about for terrain and load/performance:

tesb wrote in another forum (Master of Mana mod forum):

the problem with blend/grid textures is that they are very large (1024*1024 with alpha layer) but the tiling on those textures is 64*64, i.e. although they are very large the game tiles only use very small sections out of it. the main problem is that if i use seamless textures that are bigger the 64*64 for the blend/detail textures you get ugly edges between the tiles in the game.

the detail texture on the other hand is a 512*512 texture, in most cases without alpha (i.e. much smaller) that is blended over the blend/grid texture. the big advantage is that i can use seamless 512*512 textures for the detail texture (instead of 64*64). in most cases, for example all the new hell terrain (see this thread: http://forums.civfanatics.com/showthread.php?t=433757) i just use 1 blend and 1 grid texture as a base for all the different hell terrain, as well as tundra.

the pros:
-it looks much much better
-it saves a lot of memory because the game only uses 1 blend/grid texture for multiple terrains
-it is much easier to create because i just need a seamless 512*512 texture

the cons:
-if you don't have detail textures enabled, your terrains looks horrible

Hope this is something you can use with good effect.

Cheers
 
@Dancing Hoskuld

Can you look at AIAndy's stuff when you have a moment?

Also can you make sure the terrain features like bamboo are generatedon maps? I don't see any bamboo on AIAndy's map or the other C2C maps.

EDIT:

Added AIAndy's CvMapGeneratorUtil.py to the SVN so the new terrains show up correctly in World Builder.
 
They show up in PerfectWorld2f map script AIAndy uploaded, but doesn't show up in other map scripts.
I don't understand it, either.. What is different between them? :crazyeye:
And it seems there are really few Muddy tiles, compared to Marsh.

Resources and Features should be updated to be placed in new terrains.

Also, improvements for new features are needed.
Bamboo -> Wood Gatherer, Lumberjack, Lumbermill?
Coconut, Date palm, Cacti -> Fruit gatherer, Fruit Picker, Plantation maybe?

Attached file enable players to build improvements in new terrains.
  • Farm and Cottage can be built in Lush, Scrub, Muddy terrains.
  • Fort can be built in all new terrains.
  • Rock gatherer, mine, shaft mine, modern mine can be built in Rocky terrain (You can build them without hill)
Put it in Modules/Resources/NewTerrains.

I think Rocky+Hill tile should give one more :hammers: (total 3:hammers:)
 
Very nice. Thank you.

Put it in Modules/Resources/NewTerrains. Should Muddy be added to farm and cottage also? and how about making rock gatherer/mine buildable in Rocky terrain?

Yes I would say muddy should allow for farm and cottage.

And yes rock gatherer/mine should be possible on Rocky terrain (would make them more useful).
 
I have a really bad head cold at the moment and don't trust me doing much. I will fix the Zebra problem but don't count on anything more for a few days. Programming while had not working = bad idea. ;)
 
@Dancing Hoskuld

Can you look at AIAndy's stuff when you have a moment?

Also can you make sure the terrain features like bamboo are generatedon maps? I don't see any bamboo on AIAndy's map or the other C2C maps.

EDIT:

Added AIAndy's CvMapGeneratorUtil.py to the SVN so the new terrains show up correctly in World Builder.
The World Builder fix (CvWorldBuilderScreen.py) should work fine even without the new terrains (and that is the one you added correctly).
Mind that the CvMapGeneratorUtil change will not work without the new terrains present.

Were your tests of the RoM map scripts with or without the new CvMapGeneratorUtil.py?
 
I have a really bad head cold at the moment and don't trust me doing much. I will fix the Zebra problem but don't count on anything more for a few days. Programming while had not working = bad idea. ;)

Bah! I really want to get the terrain in the next update. (Can anyone else help? I don't know enough about this stuff to help. :confused:)

Hope you get better soon. :pat:

Were your tests of the RoM map scripts with or without the new CvMapGeneratorUtil.py?

Without I only had the file from post #145 isntalled. How do I put in the stuff from post #148?
 
Also, improvements for new features are needed.
Bamboo -> Wood Gatherer, Lumberjack, Lumbermill?
Coconut, Date palm, Cacti -> Fruit gatherer, Fruit Picker, Plantation maybe?
The problem here is that there are no bonuses they could provide, and we can't add bonuses freely still I am told. Having these improvements in a context where they do NOT provide any bonus (just increase tile productivity) would be a bit confusing I think.
 
Bah! I really want to get the terrain in the next update. (Can anyone else help? I don't know enough about this stuff to help. :confused:)

Hope you get better soon. :pat:



Without I only had the file from post #145 isntalled. How do I put in the stuff from post #148?
Replace the file with the same name in the Python folder (mind that it is not compatible with not using the new terrain).

I have now updated and assembled the feature xml to reference all the terrain types they should go to and their appearance chance. Put the file in the NewTerrain folder. It should work with the any map script that uses the standard feature generator (like Fractal).

Unfortunately there are no other settings in the xml to govern feature placement.
Is it possible to add those tags? At least the latitude restrictions like with bonus placement.
Otherwise it is of course still possible to place them with specific code for each resource.
 
Replace the file with the same name in the Python folder (mind that it is not compatible with not using the new terrain).

I have now updated and assembled the feature xml to reference all the terrain types they should go to and their appearance chance. Put the file in the NewTerrain folder. It should work with the any map script that uses the standard feature generator (like Fractal).

Unfortunately there are no other settings in the xml to govern feature placement.
Is it possible to add those tags? At least the latitude restrictions like with bonus placement.
Otherwise it is of course still possible to place them with specific code for each resource.

Perfectly possible. However, I'm out of town for just over a week, so not 'til after I'm back.
 
The problem here is that there are no bonuses they could provide, and we can't add bonuses freely still I am told. Having these improvements in a context where they do NOT provide any bonus (just increase tile productivity) would be a bit confusing I think.

Well Bamboo, Coconuts, and Date Palms could have Wood Gatherer, Lumberjack, Lumbermill I would think. As well as normally getting chopped.

Barrel Cactus, Pickly Pear Cactus and Sword Grass I do not think should have Lumbermills and I am unsure if chopping should give any benefit. Maybe just clearing the land.
 
Back
Top Bottom