Problem with CvMapGeneratorUtil.FractalWorld.FractalWorld()

ColdWarKid

Chieftain
Joined
Jul 5, 2006
Messages
13
Location
Wirral, UK
I like to play with north/south movment. To free up the oceans of polar ice I have removed TERRAIN_OCEAN from FEATURE_ICE in CIV4FeatureInfos.xml.

To use maps with this mod I have added north/south wraping to *.py files. Terra and Pangaea now have some polar ice pocketing the northern and southern coast lines with north/south movment.

To the Archipelago map I also added fractal_world.initFractal(polar = False) to def generatePlotTypes(): under the line fractal_world = ArchipelagoFractalWorld().

This map now generates lovley landmasses crossing the north/south border with polar ice pocketing the coast, blocking narrow straits and freezing up lakes. With north/south movment. :thumbsup:

Now apply the same principale to the Continents map. Don't forget to edit fractal_world.initFractal(polar = True) to fractal_world.initFractal(polar = False). Generate a game and observe the results.

If wraping IS NOT set then you get lovley landmasses upto the north/south borders with polar ice pocketing the coast, frozen lake, etc. No north/south movment.

If wrapping IS set for north/south movment then you get four continents evenly spaced in their own quarter map. :cry:

Either FractalWorld() does not work as well as ArchipelagoFractalWorld() or I have gone mad.

Fortunatly this method used with Archipelago map set to snaky continents looks very inviting, must go and play. :D

Any light shed on this problem would be welcome.
 
In fact the problem does not come from polar but from has_center_rift .

With has_center_rift=True , fractalworld generates the map around the center. What can give a perfectly symetric map with X-Y wrap.

So instead of fractal_world.initFractal(polar = False) , put fractal_world.initFractal(has_center_rift = False) ( polar = false is the set by default , you don't have to add it ) .

I recommend to you to increase a little the grain too .

And perhaps a simple way to remove ice with python :

Code:
class CustomFeatureGenerator(CvMapGeneratorUtil.FeatureGenerator):
	def addIceAtPlot(self, pPlot, iX, iY, lat):
                return

def addFeatures():
	NiTextOut("Adding Features (Python Continents) ...")
	featuregen = CustomFeatureGenerator()
	featuregen.addFeatures()
	return 0

Or replace def addIceAtPlot in a custom feature generator .

hope this help you , Tcho !
 
Sto:

Thanks for the feedback. I shall play with has_center_rift in the morning.

Creating a custom feature generator is a bit advanced for now as I am currently only tweaking what is already written.

Removeing TERRAIN_OCEAN from FEATURE_ICE in CIV4FeatureInfos.xml is fun. I have been playing the Archipelago map all day. With ice only appearing on the coast it is harder for galleys to explore cold regions and some islands are totally locked.
 
Sto:

Excellent, has_center_rift works a treat.

FractalWorld() now appears to create more islands and a more intresting map in general to the original Continents.py.

With the modification of CIV4FeatureInfos.xml I now have:

Full N/S and E/W movement. :)
Polar ice disrupting shipping. :)
And, good sized continents to encourage those land wars we all like. :)

I will study the other custom feature generators so that I can add some ice back to the ocean and remove trees from tundra due to perma frost not allowing deep root systems.

Thanks for your help. :thumbsup:

Edit: As I pressed submit a penny droped. I can sort the trees on tudra by editing CIV4FeatureInfos.xml. This learning curve is picking up some speed now. :woohoo:
 
Back
Top Bottom