Hi all
First I want to say thanks to cephalo for this great script. I registered just to say that.
Secon - I have been messing a bit around in the script and added a quick dirty fix to make some small islands:
Add these variables just below SoftenPeakPercent
Code:
SmallIslandLANDPercent = .02
SmallIslandHILLSPercent = .01
Now after the bits of code following #Now for SoftenPeakPercent of peaks, make them hills
add:
Code:
#Make small islands flat land or hills
#LAND
for y in range(1,mapSize.MapHeight - 1):
for x in range(1,mapSize.MapWidth - 1):
i = GetIndex(x,y)
if self.plotMap[i] == self.OCEAN:
if SmallIslandLANDPercent >= PRand.random():
self.plotMap[i] = self.LAND
#Hills
for y in range(1,mapSize.MapHeight - 1):
for x in range(1,mapSize.MapWidth - 1):
i = GetIndex(x,y)
if self.plotMap[i] == self.OCEAN:
if SmallIslandHILLSPercent >= PRand.random():
self.plotMap[i] = self.HILLS
this is clearly not an optimal solution, but it sprinkle a few islands around in the water.
The biggest problem is that each island tend to have jungle on it! which looks kind of silly next to a tundra shore. But that has something to do with Cephalos elaborate climate model.
But it clearly makes ocean exploring way more fun and sometimes a non ocean passage between the continents.
UPDATE:
Ok - I somehow fixed the jungle issue. This change will remove forest/jungle from all one plot islands:
here is the code you'll have to change:
Code:
#forest and jungle
if plot.isWater() == False and terrainMap.terrainMap[i] != terrainMap.DESERT and\
plotMap.plotMap[i] != plotMap.PEAK:
add one more condition, to check if this is an island:
Code:
#forest and jungle
if plot.isWater() == False and terrainMap.terrainMap[i] != terrainMap.DESERT and\
plotMap.plotMap[i] != plotMap.PEAK and not IsPlotSurroundedByOcean(x,y):
This is my first try of python coding
there is probably some more elegant solutions please feel free to comment.