A harsh desert (or cold) map using Planet Generator

Vendayn

Warlord
Joined
May 11, 2011
Messages
104
I want to create a very harsh desert (or frozen) map using Planet Generator.

Now what I did for a desert map was...immense size (it doesn't crash anymore! or maybe its cause I upgraded my graphics card), 40% ocean, rare small islands, mountain peaks of up to 100 ...lol...(I might try extreme again, but last time I did it, it surrounded my whole land so 100 is probably enough), but I want a lot of volcanoes)

Then I did humidity very low, extremely hot and variation as very soft. But it barely put any desert on the map...it was almost entirely forest and jungle, with some harsh desert tiles.

For cold, I did the same as above, but very humid, the coldest possible setting, and very soft variation. This worked a lot better than trying a hot desert planet.

My end goal is to get global warming (hence need lots of volcanoes), so it probably be a bit cooler (heh) on a cold map than on an already hot, desert map.

Did I do the settings wrong for the desert map though? I did about the same for cold, and it turned out a lot better. In the end, I may just go with that...since having an ice planet get global warming sounds funny. But is there better settings I can do for cold as well as desert?

Thanks :) And hope I didn't ramble too much...little sleep last night and I tend to ramble when tired :P
 
PW3 generates plenty of desert usually

What is PW3? I assume different than PerfectWorld3...cause I can only find PW2. And is there a way to get PW3 (whatever that is) into planet generator map? Cause I do want to try a desert map, see how it plays. I picture something like Dune, but maybe more plants or something. Or maybe just all desert. Or some water. Really, that is just what I want I guess lol :P I want to play Dune style (meaning nearly/all desert) with this mod :D
 
Well, I tried the mongoose map (only map with PW3 it looks like)...and set it to arid (plus some other settings)...and...

It had tons of lush and stuff. Not exactly what I had in mind. The planet generator made far more desert, and even then, it wasn't that much.
 
Well, I tried the mongoose map (only map with PW3 it looks like)...and set it to arid (plus some other settings)...and...

It had tons of lush and stuff. Not exactly what I had in mind. The planet generator made far more desert, and even then, it wasn't that much.

Interesting. I always seem to get tons of desert with pw3 (yes mongoose), without using settings to deliberately generate it
 
Interesting. I always seem to get tons of desert with pw3 (yes mongoose), without using settings to deliberately generate it

Maybe I got unlucky then.

Ah well, I'll just go with a cold map with planet generator and try to get global warming. That should do what I want in the end...

Dunno how global warming works exactly in the mod, but I think it turns the world into a desert doesn't it?
 
Relatively recently, like somewhere around v30 I think, all the PW type maps (PerfectWorld PerfectWorld2f, and PerfectMongoose_v310) were tweaked to produce a bit less desert. Something like 20 or 25% fewer desert/dunes/salt-flats plots. It is, of course, still pretty random so even with the same settings a map might have twice as much as another map with similar continents.
 
Okay, so I installed python and just going to edit this Planet Generator map myself.

Would changing any numbers do anything? So less forest (and jungle) and more desert? Not in exact order of how they are listed and might be a bit long, and probably other things could be changed. And probably some of this has nothing to do with what it generates...

There is a lot of numbers and what not, and I'll probably just have to learn myself...but any advice/comments on any of this for the map to do a proper desert map and not whatever it generates (which definitely isn't a very dry, very hot map :P)?

--------------------------------------------------------------------------------

[ #Humidity:
["Random","random",False],
["Very small (least plants)",0.025,True],
["Small",0.2,True],
["Normal",0.5,True],
["Wet",0.61,True],
["Rainy",0.78,True],
["Very rainy (many plants)",0.95,True],
],
[ #Temperature:
["FT Random (include all)","random",False],
["FT Random (normal)",[15,20,25,30,35,40,45,50,55,60],False],
["Extremely cold",-9,True],
["Very cold (tundra in the middle)",10,True],
["Cold (forests in the middle)",20,True],
["Cool (light jungle, no deserts)",30,True],
["Normal",40,True],
["Warm (more deserts or jungle)",55,True],
["Hot",70,True],
["Extremely hot",85,True],
],

----------------------------------------------------------------------------------

------------------------------

# Features based on initial terrain
if terrain == terrainDesert:
randomFeat[1] = featJungle #more jungle on sand
elif terrain == terrainGrass:
if tileTemperature > 20:
randomFeat[1] = featJungle
randomFeat[3] = featForest #most forest on grass
elif terrain == terrainPlains:
if tileTemperature > 25:
randomFeat[2] = featJungle
randomFeat[3] = featForest
----------------------------------------------------------

if tileTemperature > 30:
randomTerrain[7 * (1.5 - climateHumidity)] = terrainDesert

------------------------------------------------------------

randomFeat[distanceFromRiver * 14 * (1 - climateHumidity)] = None # how many tiles have no forest and no jungle
if tileTemperature > 28:
randomFeat[(distanceFromRiver / 3 + (tileTemperature - 22) / 2) * (1 - (climateHumidity * 0.5) - 0.5)] = None

----------------------------------------------------

else:
if not plot.isHills(): #no floods on hills
randomFeat[floodPlains] = featFlood
if plot.isFreshWater(): #make more floods near lakes and rivers
#if terrain == terrainTundra or terrain == terrainSnow:
#if tileTemperature > -10:
#randomFeat[2 * (1 - climateHumidity)] = featFlood
#elif tileTemperature > -30:
#randomFeat[1 * (1 - climateHumidity)] = featFlood
if terrain == terrainDesert:
if tileTemperature < 40:
randomFeat[2 * (1 - climateHumidity)] = featFlood
elif tileTemperature < 55:
randomFeat[1 * (1 - climateHumidity)] = featFlood
else:
randomFeat[4 * (1 - climateHumidity)] = featFlood
# We increase amount of flood on poor terrain, to make it more playable
if terrain == terrainDesert:
randomFeat[3 * (1 - climateHumidity)] = featFlood

---------------------------------------------------------------------

# Features based on temperature
if tileTemperature > 40:
randomFeat[2] = featJungle
# Rise of Mankind 2.82 start
elif tileTemperature < 5 and tileTemperature > -10:
randomFeat[2] = featSwamp
# Rise of Mankind 2.82 end
elif tileTemperature > -20:
randomFeat[2] = featForest
else:
randomFeat[1] = featForest

------------------------------------------------------------------------

# make this seed spread to other tiles
tileList = getTilesAroundDistance(x,y,2)
posList = probabilityArray()
score = 80
for tile in tileList:
tx,ty = tile
tilePlot = map.sPlot(tx,ty)
tileTerrain = tilePlot.getTerrainType()
if tilePlot.getFeatureType() != featNone:
score -= 20
if tilePlot.getTerrainType() != terrainDesert:
score -= 5

------------------------------------------------------------------
 
Would changing humidity settings and temperature do anything at all? Humidity looks like it is set low already. And temp looks set pretty high.

Granted, it looks like it only affects the other elses and ifs and what not that are in there in the map file, that I also put in the above post. So, if I'm right...I'd probably have to change other settings for the map to not generate so badly on hot and dry climates.

(edit:

Actually, can I take the PW3 settings from Mongoose map, and just put them into Planet Generator? Or is there more things required than just that?)

(editx2: Guess not that easy. :P I kept all the ## and what not...but putting in the PW3 settings (probably did something wrong or forgot something?) just erased all the other entire settings in the planet generator map. And I still couldn't choose PW3 either.)
 
Well, I decreased humidity to 0.0001 and temperature to 386...did remove a lot of the trees and stuff. But instead, all I get is tons of grassland...no desert. That is with two map creations. I'll increase temperature to 1000 and see how that does. But, doesn't look like that fixes it.

(edit: Whoops meant to edit, not reply. Ah well.

Anyway, setting super low humidity and any temperature above 280...it does remove a lot of the forests. But, in three world generations...50 turns in each...almost all grassland. It actually removed the desert.)
 
So, if I want more desert on the mongoose map...do I increase the percents of desert/dunes and what not, and lower the other things? Or do I do the opposite?

(edit:

And I'm guessing

#Hotter than this temperature will be considered deciduous forest, colder will
#be evergreen forest.Temperatures range from coldest 0.0 to hottest 1.0.
self.ForestTemp = 0.5

If I want more desert, I'd raise that and similar settings? Or do the opposite?

Or do I only change and raise/lower this setting? (or is it not active for C2C like it says?)

# Coldest absolute temperature allowed to be desert, plains if colder.
# C2C: Currently not active
self.DesertTemp = 0.48
 
So, if I want more desert on the mongoose map...do I increase the percents of desert/dunes and what not, and lower the other things? Or do I do the opposite?

(edit:

And I'm guessing

#Hotter than this temperature will be considered deciduous forest, colder will
#be evergreen forest.Temperatures range from coldest 0.0 to hottest 1.0.
self.ForestTemp = 0.5

If I want more desert, I'd raise that and similar settings? Or do the opposite?

Or do I only change and raise/lower this setting? (or is it not active for C2C like it says?)

# Coldest absolute temperature allowed to be desert, plains if colder.
# C2C: Currently not active
self.DesertTemp = 0.48

I'm not sure any of the current modders know much, if anything, about map generators, so you may not get an answer here. I know I have no clue.
 
I'm not sure any of the current modders know much, if anything, about map generators, so you may not get an answer here. I know I have no clue.

Only one that really knows "much" about that is AIAndy, and he's dealing with RL stuff, and really cant be bothered unless an emergency.
 
Ah. Cause I set desert/dunes to 1.00, and everything else to 0.00 or 0.01...and...

I don't get a single bit more desert than before.

Guess I'll ask somewhere else. This is starting to get super annoying
 
So, if I want more desert on the mongoose map...do I increase the percents of desert/dunes and what not, and lower the other things? Or do I do the opposite?

(edit:

And I'm guessing

#Hotter than this temperature will be considered deciduous forest, colder will
#be evergreen forest.Temperatures range from coldest 0.0 to hottest 1.0.
self.ForestTemp = 0.5
This will have no effect on desert or other plot type, just whether or not a plot that is of a terrain type that can have forest will have forest.

Or do I only change and raise/lower this setting? (or is it not active for C2C like it says?)
If I want more desert, I'd raise that and similar settings? Or do the opposite?


# Coldest absolute temperature allowed to be desert, plains if colder.
# C2C: Currently not active
self.DesertTemp = 0.48
As it says, it isn't used for anything in the C2C versions of the file (it appears nowhere else in the file).

Some settings you should look at:
Code:
		#How many land squares will be below desert rainfall threshold. In this case,
		#rain levels close to zero are very likely to be desert, while rain levels close
		#to the desert threshold will more likely be plains.
		self.SaltFlatsPercent3 = 0.02
		self.DunesPercent3 = 0.06
		self.DesertPercent3 = 0.12
		self.ScrubPercent3 = 0.16

		#How many land squares will be below plains rainfall threshold. Rain levels close
		#to the desert threshold are likely to be plains, while those close to the plains
		#threshold are likely to be grassland. 
		self.RockyPercent3 = 0.23
		self.BarrenPercent3 = 0.29
		self.PlainsPercent3 = 0.49
		self.GrasslandPercent3 = 0.78
		self.LushPercent3 = 0.9
		self.MuddyPercent3 = 0.96
These are arranged across the range from 0 to 1. They should not overlap. (The comments are out of date - they are the originals from when it didn't have the new C2C terrain types.) As I mentioned, the desert frequency was reduced a little while ago, before which it used these numbers:
Code:
		#How many land squares will be below desert rainfall threshold. In this case,
		#rain levels close to zero are very likely to be desert, while rain levels close
		#to the desert threshold will more likely be plains.
		self.SaltFlatsPercent3 = 0.03
		self.DunesPercent3 = 0.08
		self.DesertPercent3 = 0.15
		self.ScrubPercent3 = 0.20

		#How many land squares will be below plains rainfall threshold. Rain levels close
		#to the desert threshold are likely to be plains, while those close to the plains
		#threshold are likely to be grassland. 
		self.RockyPercent3 = 0.28
		self.BarrenPercent3 = 0.35
		self.PlainsPercent3 = 0.55
		self.GrasslandPercent3 = 0.8
		self.LushPercent3 = 0.9
		self.MuddyPercent3 = 0.96
Compare the two and you can see how this set should give more desert. If you want to increase the effect, extrapolate to a new set that is even higher for the desert related numbers.

Note that the climate option (as selected before creating a map) applies modifiers which adjust these or just plain changes them. Tropical reduces desert threshold (multiplied by 0.7) and dunes and salt flats too. Arid changes them to a different set of values:
Code:
			self.SaltFlatsPercent3 = 0.06
			self.DunesPercent3 = 0.14
			self.DesertPercent3 = 0.20
			self.ScrubPercent3 = 0.28
			self.RockyPercent3 = 0.35
			self.BarrenPercent3 = 0.45
			self.PlainsPercent3 = 0.7
			self.GrasslandPercent3 = 0.9
			self.LushPercent3 = 0.95
			self.MuddyPercent3 = 0.98
Rocky also directly changes them.

So if you have been using Arid or Rocky then changing the regular definitions of these does nothing since they are directly changed to this new set of numbers.

If you are going to be using the map settings that directly set them you need to change them where it makes that adjustment too. Or you could just adjust the Arid settings if that is what you will be using. Small shifts won't get you a Dune type map. For that matter, large shifts won't really do so either.

BTW, you shouldn't change the existing map script. Copy it and rename it and modify that one.

If you want quite a bit of desert, but not anything like everywhere, try something like this (made up just now) for the Arid set of values (and then pick the Arid option when generating the map or you won't be using them). It should be even more "deserty" than the usual Arid settings above (but should tend to have less slat flats):
Code:
			self.SaltFlatsPercent3 = 0.04
			self.DunesPercent3 = 0.18
			self.DesertPercent3 = 0.34
			self.ScrubPercent3 = 0.44
			self.RockyPercent3 = 0.53
			self.BarrenPercent3 = 0.60
			self.PlainsPercent3 = 0.75
			self.GrasslandPercent3 = 0.9
			self.LushPercent3 = 0.95
			self.MuddyPercent3 = 0.98
These numbers are related to the amount of rainfall the plot gets. Less rain = more "deserty" until it gets so little it becomes a salt flat. They should produce a map that is pretty harsh, but with quite a lot of good terrain scattered around.

As a rough estimate these numbers should make a map that has land area which is somewhere near 2% salt flat, 9% dunes, 15% desert, and 13% scrub for a total of 39% of the more "deserty" terrain types, plus 9.5% rocky and 8.5% barren which are both pretty bleak as well. Give or take, since that assumes the rainfall distribution is completely linear across the 0 to 1 range and it may not be, and does not take into account how cold temperatures override the terrain to make it permafrost/tundra/snow instead of whatever the rainfall would normally make it.

There are various other factors, many of which I have not looked at. On thing to note is that higher temperatures increase the moisture level, which tends to increase the rainfall. This is why there are not a lot of equatorial deserts generated. If you figures out how it worked, you could make it generate less rain in most places...
 
This will have no effect on desert or other plot type, just whether or not a plot that is of a terrain type that can have forest will have forest...

So IF i want ALOOOOT more grasslands and better terrain than desert and tundra? it would read??
 
Thanks so much. :D I'll mess around. For now, I'll try those Arid settings. Didn't realize there was a specific setting for that. No wonder it wasn't working right rofl. *face palm*...guess when one stays up all night trying to fix the map...one misses obvious. I got no sleep at all last night as I tried to "fix" the map, so I'm pretty tired...at least there is coffee :P

Maybe eventually, I'll figure out settings for more of an Arrakis style map. I'd like tons of desert and other deserty terrains+the rocky/barren). But, thanks for the help :) Gives me a much better start than I had all night lol.
 
Back
Top Bottom