View Full Version : [Map Script] Tectonics


LDiCesare
Dec 23, 2005, 06:01 AM
This is a map script, not a map, so I initially put this thread in the geneal mod section but it may belong here better:
This script is designed to produce mountain ranges, and simulate plate tectonics, giving more realistic/earthlike terrain (mountain ranges, mountains near the coasts like the Andes or between subcontinents like the Himalaia):
http://apolyton.net/forums/showthread.php?s=&threadid=145842

Version 3.15.

Download link below:

jkp1187
Dec 23, 2005, 09:38 AM
Thanks. Good effort. I tried it a couple of times (checking in World BUilder) to see what it did. I noticed that it almost always produced a 'pangaea' map. was this intentional?

PawelS
Dec 23, 2005, 03:17 PM
The link doesn't work for me (there is a '...' inside the url).

LDiCesare
Dec 23, 2005, 03:59 PM
Try this link: http://apolyton.net/forums/showthread.php?s=&threadid=145842 it is: //apolyton.net/forums/showthread.php?s=&threadid=145842 if the hyperlink fails.

It doesn't always generate pangaeas. My current game for instance has 2 main continents, one big island (the Russians managed to sneak 3 cities there while I destroyed them on our continent) and a few islands.
Now I'm mostly testing on standard maps, it may be more cluttered on smaller maps or map sizes with many civs and little space.

dlordmagic
Dec 24, 2005, 09:29 PM
Wow:) You are quite possibly the first map scripter for this game. Meaning your script is not a cut and paste of an existing map script. It gives the rest of a chance to do equally original scripts.

TheeLord
Dec 26, 2005, 04:31 AM
WOW! what a neat idea.. I cant wait to try this out! Has anyone had success with this yet? Has it created nice looking terrains? This has been my biggest complaint with the game so far.. the monotony of the terrains it generates.

TheeLord
Dec 26, 2005, 05:47 AM
VERY NEAT! Doesnt give pangea all the time at all.. I am impressed, but there are some problems.. For one, the mountain ranges dont always make sense 'tectonically' but they are MUCH MUCH MUCH better than the original mountains in the fact that they run in ranges. Also, your desert areas have perfectly straight boundaries with just some grassland running into them, and of course the rivers could use some work. Great start though!!

LDiCesare
Dec 26, 2005, 01:18 PM
There are a bit more plates than realistic, since otherwise I get too polygonal land shapes. And the tectonics model is crude, so you sometimes get silly small plates which may create a lot of mountains in an unexpected place.
The desert borders are too straight indeed. I tried something a bit different but got weird results. I suspect the x coordinates of the map not to work the way I think they should. Its possible to turn back the climate to the standard model by changing one line. I will probably put this as an option as I tweak the script more.
The rivers I know are odd, but I haven't found how they are generated, so I kept the default algorithm, which sometimes produces great ribbons which make little sense. How to correct that is what I would like to find out next.

LDiCesare
Dec 28, 2005, 01:10 PM
I upgraded the script with better(hopefully) river systems. They are shorter, may branch more, and don't cross mountains now.
I attach here a sample of what the script can provide.

TheeLord
Dec 30, 2005, 12:38 AM
Keep working on this please! Its a really really really great idea and Id love to have a version of this that I could use for all my maps!

LDiCesare
Dec 30, 2005, 02:26 AM
Which options would you like? I can make a Pangaea, provide varying land/sea combos (more land, more sea) pretty easily.

LDiCesare
Dec 30, 2005, 05:12 PM
I updated this to version3.0. This includes a menu to let you choose from earthlike, pangaea, lakes and islands.
Note Pangaea uses the default terrain generator for desert/grass/plains in order to avoid (realistic) huge deserts on such maps.

Thorburne
Dec 30, 2005, 09:22 PM
I clicked the link, but the site was not found!!!

TheeLord
Dec 30, 2005, 11:34 PM
Use the link in the third post. Im gonna give the new version a try.

TheeLord
Dec 30, 2005, 11:55 PM
Just tried a few maps on the new version! Seems to be alot better.. But rarely do you get an ocean that you can circumnavigate the world with, that would be my only complaint with it now. This is really neat and Im gonna be using it for my next game no doubt!

I am curious.. How difficult would it be to create a script that created land masses to simulate the conditions each civ has on a real earth map.. for example a semi-crowded 'europe', Italy on a peninsula seperated from the europe area by a mountain range.. England on an island next to the european area, America on a huge fertile area with very spread out resources, Japan on a mountainous large island, russia with a huge amount of relatively unfertile land and a good starting location, Egypt on a river valley in the biggest desert in the old world... I think this would be awesome if theres any way to do it.

I can program very well, and with a little teaching on how the scripts work I could definatly help if it is possible. Let me know!

TheeLord
Dec 31, 2005, 12:05 AM
Can you let me know where you learned how to program the map scripts if nothing else?

LDiCesare
Dec 31, 2005, 03:31 AM
I am curious.. How difficult would it be to create a script that created land masses to simulate the conditions each civ has on a real earth map.. for example a semi-crowded 'europe', Italy on a peninsula seperated from the europe area by a mountain range.. England on an island next to the european area, America on a huge fertile area with very spread out resources, Japan on a mountainous large island, russia with a huge amount of relatively unfertile land and a good starting location, Egypt on a river valley in the biggest desert in the old world... I think this would be awesome if theres any way to do it.
It's not very hard to make a Terra like map with this script, but creating landmasses simulating those of a real earthmap in detail is a bit harder since I don't know how to retrieve the civs in the map script, but I suppose it can be done.
The algo processes this way:
Put a seed for each sea plate and land plate. (I made a mistake with the plate 0 which is useless by the way, but this doesn't translate into any bug) The seeds are generated randomly. If you replace that by a coordinate corresponding roughly to the center of the corresponding Earth plate, you should get something similar. The only problem is mountains, as the subduction/collision direction (movement of the plates) is systematically random. It would require a bit more work to change that.
For instance for Italy: You would create a land plate surrounded by sea plates to the west, south and east, and a land plate to the north, and ensure Italy plate is moving north. The problem is Italy is really small and I don't think the Adriatic is actually a separate plate. I've been thinking of making Earthlike and Mediterranean like maps, but will probably not have the time soon.
For Egypt, I am not sure since I do not know whether the rivers generation is called before or after the terrain generation (where terrain = desert/grass/plain/tundra/ice, whereas plot generation = peak/hill/land/sea). The code in GreatPlains.py can probably help create a Nile river. Finding out the biggest desert would require some region detector but that's not too hard to make a crude one.

As for learning to code, I checked the existing .py files. The most interesting are CvMapGeneratorUtil.py in Assets/Python and then the various PublicMaps (continents being the simplest one, InlandSea, GreatPlains have some info on the rivers). I asked Sirian for help too in order to get the rivers code entrypoints. That one is really ugly by the way, it should be probably at least twice as small as it currently is had I tackled the problem correctly.
I've also been using this to learn python so I'm pretty sure the code could be way cleaner. There are also things I'm unsure about, like latitude since there are latitude methods on the plots which seem to provide 0-90 values, and another utility in one script which computes a 0-1 value.
There's also a very very useful document by Locutus: http://apolyton.net/forums/showthread.php?s=&threadid=140611
It doesn't seem to be complete, however, as I found at least one method on plot that is not documented there.

Thorburne
Dec 31, 2005, 08:03 AM
Where do you put the script file?

TheeLord
Dec 31, 2005, 06:08 PM
It goes in the public maps folder

TheeLord
Jan 01, 2006, 12:38 AM
I started a game with this and the only problem with it really was that you couldnt circumnavigate the globe at all.. But otherwise I really liked the map it produced, it felt much more dynamic than the stock maps.

You should make a new thread with this with an appropriate title and an easy download that is located on this site.

furtigan
Jan 01, 2006, 01:33 PM
Which options would you like? I can make a Pangaea, provide varying land/sea combos (more land, more sea) pretty easily.
Wow -- this is an awesome thing. The maps have always been my # 1 pet peeve with Civ.

So here's my request: more islands. Not an achipelago map ... but a continent-based map that nonetheless has an achipelago or two in it, plus some flyspecks. (y'know... like Earth!)

TheeLord
Jan 04, 2006, 05:22 PM
Keep goin with this project.. I really enjoy the maps, but the whole ribbon of land thing is keeping me itching for a new version.

furtigan
Jan 04, 2006, 07:01 PM
I started a game with this and the only problem with it really was that you couldnt circumnavigate the globe at all. Yes. This is true in about 2/3 of the maps generated. Even if it's realistic in a plate tectonics sense, I don't think its good for gameplay.

Also, it seems pretty land-heavy. Can we get a bit more ocean?

LDiCesare
Jan 15, 2006, 06:49 AM
I'm going to make a version with more sea, but right now I am having hardware problems so this may take another week or two before I can upload a new version.

suspendinlight
Jan 16, 2006, 10:45 PM
It's really pretty easy to adjust the amount of land/sea yourself. Just open up the script in a text editor and change the number of land/sea plates. I did it until I found the right balance for my 18 civ games.

I have been using this generator exclusively for a while. It works very well with my custom rules (pre-renaissance units cannot cross desert, jungle, ice) becuase it generates large masses of various types of terrain and I find it more realistic. Keep up the good work!

Nightravn
Jan 17, 2006, 07:48 AM
Hey suspend Can you save us the trouble and post the numbers that worked for you and where we are suppose to place them in that script?

suspendinlight
Jan 17, 2006, 12:37 PM
The line you need to change is: (you need to choose the "Earthlike option when you generate the map)
if (userInputLandmass == 0): # "Earthlike (60% water)"
numContinents = 2*numPlayers-5
numSeaPlates = numPlayers*2
You can see these are the numbers I am currently using. Note: I am playing 18 civs on a standard map, so these settings will probably give bad results for other combinations of civs/map size. The only way to figure out what is right for you is to try different settings yourself.

mtabacco
Jan 18, 2006, 05:42 PM
will someone tell me how to istall this to civ?

narmox
Jan 18, 2006, 11:10 PM
will someone tell me how to istall this to civ?

Put tectonics.py into your Public Maps folder (in My Documents\My Games\civilzation IV), and now the tectonics map type will appear in "Custom Games".

narmox
Jan 19, 2006, 11:54 AM
The line you need to change is: (you need to choose the "Earthlike option when you generate the map)
if (userInputLandmass == 0): # "Earthlike (60% water)"
numContinents = 2*numPlayers-5
numSeaPlates = numPlayers*2
You can see these are the numbers I am currently using. Note: I am playing 18 civs on a standard map, so these settings will probably give bad results for other combinations of civs/map size. The only way to figure out what is right for you is to try different settings yourself.

I tried these settings on a standard map with 7 civs (the normal settings).

!!!!!!!!!!!!!!

It created 2 very large continents completely seperated by oceans from each other. No contact possible at all till optics! very nice!

one thing I noticed with the tectonics map script is that it creates large land masses for some reason, larger than I'm used to with Continents. It's nearly 700 AD right now, and there's still some unsettled space on my continent where barbarian cities periodically spawn. Not to mentin all the ice at the south where barb units constantly come from to harass the civilizations..

mtabacco
Jan 19, 2006, 07:16 PM
narmox thanx.these maps are much better.

ColonelSanders
Jan 23, 2006, 09:40 AM
LDiCesare, this is a nice script. It makes some very interesting terrain.

I was going to suggest that you also make forests and jungles clump together. However, this could be detrimental to game balance, what with the way chopping works.

Any way, nice work.

Andy

LDiCesare
Jan 28, 2006, 10:27 AM
I uploaded version 3.2 (I lost 3.1 because I had to reinstall stuff and forget to back it up :( ).
Features:
Less ice.
Land plates more common in one hemisphere (edit).

I'll try to play with suspendinlight's settings to see what it looks like. That's 31 land/36 sea plates for 18 opponents and 9/14 for 7 opponents if I'm correct. The only problem is one can't use it for duels (though I wonder if anyone plays with only 2 civs).
I can also set the number of plates as an option, but I wonder if it's useful: If you don't understand how it works, you won't know what figures to use and it may get messy, and if you know, you can change the .py file easily?

suspendinlight
Jan 28, 2006, 11:14 AM
-The smaller ice caps are definitely good.
-About 25% of the maps are still not circumnavigable (60% water setting)
-Deserts seem to be less North/South banded but it might only be my imagination since you don't mention changing that code

Suggestions:
-As you note, making the plates less polygonal and more curved would create better looking mountain ranges
-A new feature to consider is island chains formed by volcanic activity such as the Hawaiian islands or many of the islands in "Oceania". Perhaps a few spots on ocean plates could be designated as "volcanic hotspots" around which hilly/mountanous islands form. Most islands now are completely flat since they don't intersect other plates. It may be difficult to create large cities here due to lack of space and food, but they could be useful military bases in the modern age (as in the real world).

Owain
Jan 29, 2006, 11:04 AM
I like these alot. very interesting maps... It does seem like someone always ends up on their own little continent that is almost all ice and tundra, which kind of sucks. The plates obviously don't have any trouble moving up into the ice... maybe this could be discouraged somewhat for payability's sake?

Owain
Jan 31, 2006, 11:11 AM
Another thing I would like ot see is the possibility of the ocasional hill tile away from the places the plates meet. It may be realistic to have huge plains, but they are rather difficult ot play on initially... on huge maps anyway. Its not ar eally a big deal though, just a thought.

Supreme Shogun
Jan 31, 2006, 01:33 PM
Yeah once you go Tectonic you won't go back. Love it. It has created some interesting and impressive maps to play on.

Master Kodama
Feb 05, 2006, 03:10 PM
Another thing I would like ot see is the possibility of the ocasional hill tile away from the places the plates meet. It may be realistic to have huge plains, but they are rather difficult ot play on initially... on huge maps anyway. Its not ar eally a big deal though, just a thought.

Actually, there should be at least some hills away from plate boundaries. Think about other forces besides direct mountain orogeny. Ancient techtonic folding and tilted beds, the natural rising or subsiding of one side or region of a plate, can and have created hilly regions, albeit no Rocky Mountains or Himalayas of course. Even the central regions of North America, though dominated by flat areas like the Great Plains, certainly contain hilly areas, and even a scattering of minor mountains.

It would be disappointing and probably annoying from a gameplay standpoint to have too much flat area. But I will download the script and check out a couple of maps before I pass any judgment though.

Very nice work, and keep it up! I'm always looking for a more Earthlike random map experience, and this looks to be it.

EDIT:
From what I've observed I would say that continental hills would be a great boon both fom a realism and a gameplay standpoint, especially on huge mapes where the great swaths of flat and unvariagated ground seem particularly unrealistic if not a bit boring. If nothing else, a few hills would be nice.

However, my main concern is with the icecaps: they are WAY too extensive and intrusive. Since the regions of ice in the Arctic and Antarctic serve no purpose in the game besides to be annoying, I don't think that they should be modeled at all. The polar regions aren't a part of the game. It's simply not necessary for them to be there on the map. If you look at the full world, there are already unreachable, untraversable polar caps set aside beyond the range of the actual playable "map" region, and it becomes obvious that the latitudes in the map script do not correspond to real-world latitudes. Certainly, a very narrow strip of ice at the poles would be fine and appropriate, but the amount of ice that's on the map now is unnecessary and messes with gameplay. I like that a continental mass can extend into the polar regions, as they do on earth, but if half of my continent is going to be covered in ice, well, then there's no point in even including that half within the boundaries of the map.

LDiCesare
Feb 07, 2006, 12:05 PM
I upgraded the script to version 3.3. I mostly added hotspots, thus occasional islands in the seas. This can also provide isolated peaks or hills in lands.
I also tried to prevent players from starting in the polar area, but it doesn't seem to work perfectly.

Sirian
Feb 11, 2006, 06:39 PM
So here's my request: more islands. Not an achipelago map ... but a continent-based map that nonetheless has an achipelago or two in it, plus some flyspecks. (y'know... like Earth!)

That's unlikely from a single layer of any given land mass generation scheme.

Although total uniformity of landmass size, characteristics, etc (as seen in most of my scripts) is "unrealistic", it's generally balanced. Putting some civs in Archipelago-style regions and others on continents faces several challenges, the least of which is actually creating the map. There were several cases where I felt a need to move away from realism to support better game balance.


Layers operating at different settings, or even on different landmass creation principles, offers the best chance for creating a mix of continents and islands. No system can simulate Earth properly, though, as Earth has tens of thousands of cities, plus inhabited islands so tiny that a whole cluster of them would not fill a single plot on a Civ map, even the larger sizes. To create an island chain in Civ4 is like modeling the East Indies. Anything smaller than that has dipped below the scale that can be modeled!

I do find it interesting to see questions of hills and tiny islands popping up. I am drawn to the Tectonics system as a concept, and I've been checking in now and then to see the latest. It is an interesting twist in two opposite directions to see requests for both more realism and for less, to improve the results.


There is certainly plenty more room for development and advancement of map generation techniques. I did some simple things with Great Plains and Oasis that just could not be duplicated using the fractal process alone. Every system has limits. Knowing the limits is half the battle. That way you can figure out whether a certain desired effect can be produced via a specific method, and know you have to innovate if the answer is "no".


- Sirian

LDiCesare
Feb 12, 2006, 07:43 AM
It is an interesting twist in two opposite directions to see requests for both more realism and for less, to improve the results.
Indeed. Actually my biggest problem is I see requests based onthe results of the generator on big maps and my comp can't handle more than normal for playing, so I don't test bigger than normal maps, except an occasional large map, but even these take very long to displlay in the world builder. The advantage of fractal maps is you don't really worry about map size, things will scale smoothlessly because it's fractal. Adding more hills by an additional pass of plate movement and some erosion coould provide for more hills, maybe some isolated ones, but on small or medium maps I think it's not useful.
The climate could need some work too, since it's very "straight" lines, but here I strike a realism/gameplay problem.
I have unfortunately lost the 3.1 version in which I had created a set of plates to generate Earth continents just to see what it looked like and to help get more realistic results. Of course it showed that my script is not tectonically correct at all, but it helped in getting subduction right and showed some interest for climate with the Sahara in particular.

Sirian
Feb 14, 2006, 05:56 PM
I have unfortunately lost the 3.1 version in which I had created a set of plates to generate Earth continents just to see what it looked like and to help get more realistic results. Of course it showed that my script is not tectonically correct at all, but it helped in getting subduction right and showed some interest for climate with the Sahara in particular.

Interesting.

The machine I used all through development was quite the dino, except on video, which was only adequate (but was good when I started). As you say, though, the same code scales well with the fractals, as least for the landmass shapes. (Not as well on climate, but that's another story).

It would be unfortunate if machine limitations impose on the range of what you are able to work on, but I suppose there's no simple way around that.

Is your process calculation-intensive? Or is just the graphics that are bogging you down, do you think?


- Sirian

suspendinlight
Feb 16, 2006, 09:24 AM
I've noticed an issue when using this script that things like clams and rice will sometimes be seen floating above the square they are supposed to be occupying. I don't know if this is a Tectonics script problem or a Civ 4 problem, but I don't think I ever noticed it on the non-Techtonics maps I have played.

LDiCesare
Feb 17, 2006, 12:29 PM
I've noticed an issue when using this script that things like clams and rice will sometimes be seen floating above the square they are supposed to be occupying.
I don't know. I haven't touched the resources generation code so I can only blame the default code or rendering engine for that.
Is your process calculation-intensive? Or is just the graphics that are bogging you down, do you think?

I don't think it's very calculation-intensive. The first plate iterations has a part of randomness in it which imply I make many passes through the loop to fill the plates, but, even though it's not really good design, it's fast enough. The rivers code si quite ugly and might be slow but I don't think theres is a combinatorial problem there. On the other hand, my vid card registers as "doesn't meet the minimum requirements", so I think it's really a vid card problem.

I have updated the script to provide two new things:
1)Some fault lines. Well, actually, if I find a large flat plate, I'll decide it's got a fault line somewhere in it and spawn a line of hills and lakes therein. It's not noticeable on standard and below maps, has an effect on large maps (and presumably huge). This gives less big flat areas and I can pretend it's a faultline so meaningful from a geological point of view.
2)Corrected a big bug in the climate generator. Now it does what it was supposed to do. You'll have less desert and the moisture computation is finally correct.

Sirian
Feb 17, 2006, 01:53 PM
Ah yes, bugs. Nailed that little bugger, did you? :)

The extra fault lines sound like progress.

Gyathaar
Feb 18, 2006, 01:25 AM
Something that would be very interesting, would be taking the tectonics even further and allow earthquakes, volcanos and tsunamis to appear allong the faultlines during the game...
This would prolly have to be coded in the SDK thou, thou could possibly be done in python :)

LDiCesare
Feb 18, 2006, 02:34 AM
The bug with climate was that instead of blowing continuously the wind would pick up a bit of water, move, and drop it in one square. A bit like if clouds flew over the desert but never ran there.
Adding volcanoes and earthquakes on fault lines and at plate boundaries might not be fun. If you played civ (1) you may remember the occasional earthquakes that occurred when there was no temple in the city, and fires when you lacked an aqueduct. They were more annoying than fun imo. It could be used to kill one pop point and some improvements, but shouldn't have too much of an effect for game balance. Knowing the faultlines/plates can probably be done ny using global variables in Python, though, but I don't know how to and won't model the effects of earthquakes etc.

Simmelan
Feb 19, 2006, 07:19 AM
Hello,

Thanks for the great maps!

SonicX
Feb 22, 2006, 12:31 PM
There's still a small problem with bad starting locations though. I played an 8 player large map with France (randomly picked), and I ended up alone on a southern continent. I was located in the north on the grasslands, but could only place 5-6 on grassy terrains before being forced in the tundras and ice areas. I also was too far off another continent to settle it so I kinda lost badly though I didn't had much a chance to begin with.

But besides that, nice maps :)

LDiCesare
Feb 24, 2006, 12:48 PM
The player distribution tries to make it so the players have roughly the same territory on their continent. I don't know how to avoid such a situation. Tundra squares and ice squares are considered as of little value but hacing neighbours is actually useful (except maybe Montezuma). I don't have ideas as to how to prevent such isolated starts from happening. Suggestions are welcome.

Powerslave
Feb 24, 2006, 08:31 PM
The player distribution tries to make it so the players have roughly the same territory on their continent. I don't know how to avoid such a situation. Tundra squares and ice squares are considered as of little value but hacing neighbours is actually useful (except maybe Montezuma). I don't have ideas as to how to prevent such isolated starts from happening. Suggestions are welcome.

Perhaps having a vast icy tundra available to you (as sometimes happens to me with tectonics maps) counts as much as having a medium size, grassy starting location.

I don't like the polar starting locations, but I can usually deal with them. I'd like to see a variant of tectonics that de-emphases the size of the polar regions. Maybe it could be an option, like the ocean coverage?

The worlds generated are beautiful and fun to play, but all that tundra can be problematic.

LDiCesare
Feb 25, 2006, 01:38 AM
Yes, amount of arctic terrain could be an option. I may add that in the next version.
I thought about ensuring that there are at least 2 players per landmass which would pretty easy to code, (well, easy except for the last player placed). I may try to add this too: I'd consider that all continents already have one player on them when there's actually 0. This trick could force 2 players on the same land.

Except I don't want 2 players on same landmass for islands. Arg???

davymark8
Feb 26, 2006, 07:17 PM
Just wanted to drop a line and let you know that I dled this about 2 weeks ago and have played 4 games with the script and I like it. I think I'm going to play with this until further notice. Great job, lots of fun!

mholtman
Mar 13, 2006, 12:45 PM
This is a great map script. I've played several single player games and one multiplayer with it. Very nice!

Jean Elcard
Mar 14, 2006, 03:50 AM
Two things:

1. I like this map script very much. At least 50% of my games are on maps generated by your script.

2. I don't think your script takes west winds and ocean currents into account, does it? They have an huge impact on the climate of many regions. Take the Gulf Stream for example. Its heating whole Europe on our world. Maybe you can include this in a possible new version? Would be nice.

LDiCesare
Mar 18, 2006, 06:12 AM
I take winds into account (although I may have fumbled the direction at times - winds blow mostly west or east depending on latitude and I'm not sure I'm really clean on the direction/latitude thing) but not the currents.
Winds provide moisture thus deserts will tend to be far from the coast or after mountains which block the winds.
I'm not sure how to model the Gulf Stream. The effect is not just moisture but also climate: It should replace tundras by prairies for instance. The real problem m ius to determine the water currents, where they come from warm places. I'd have to identify seas in which currents flow. It'd be interesting to get that modelled but I don't have ideas on how to do this yet.

Jean Elcard
Mar 19, 2006, 11:40 AM
Climate models ... I've spend some time on this subject recently and I came to one conclusion: It's more complex and more difficult than I thought. :crazyeye:

For example, the buzz word for global scale ocean currents is "Thermohaline circulation". Never heard of it before? Me neither, but it is all very interesting and the understanding of it could really help to make a more than exceptional good map script for civilization. Unfortunately it's only one part of the big puzzle and it is difficult to cut it down to a simple solution which is implementable without sacrificing half a day of processor time for modeling the climate.

However, for starters it might be possible for me to help you with the wind directions. I found a quite good article concerning it and the latitudes where they occure and why. Sadly, it was an german article about the basics of global meterology. Hence I don't think it is a good idea to link the whole article here. Nevertheless there was a nice picture of an idealised earth without any continents showing the main wind directions and the corresponding latitudes. Here it is:

http://www.atmosphere.mpg.de/media/archive/3352.gif

As you can see on the second picture (the one of our real earth) continents influence the directions, but in the end it is more or less the same. Asked for my opinion I would suggest to us the simple scheme.

That's all for now, but if I find the time I'll will spend some more time with climate models in the future.

Thonnas
Apr 05, 2006, 10:23 PM
First off, funny thing: I've been an civaddict since civ2 and lurked around here forever, and this is the first thing to actually compel me to register and post, so, hello world.

I think this script is great, even as it is a work in progress, and am a bit surprised that it doesn't already have a horde of supporters giving their two cents. Fortunately for me, this probably means my two wont get lost in the jar, so let me get to it.

First, regarding the issues with arctic masses, perhaps it would be possible to code a pair of randomized polar plates. Randomized in the manner that one or both are ocean plates, thus creating a likeliness for a circumnavigable ocean, and also pulling the land masses off the poles.

About current/climate emulation (if thats actualy something you're addressing) an easy start might be to simulate clockwise and counterclockwise currents, for the northern and southern hemisphere's respectively, which tend to pull moisture from the poles and equator.

[of course reallity is more complex, but thats the general effect. http://earth.usc.edu/~stott/Catalina/images/Oceanography/surface%20currents.jpg ]

And onto what I'd like to see: I'd rather see the number of plates generated based on map size and not number of players. I generally like to play on smaller maps but with more civs and wouldn't mind seeing a few civs get crammed from the get go.

Related to this, I'd also like to see some tweeking with the resources, but Im sure that's a ways away, if its even being considered. I would love it if someone could provide some quick info on how I might plug in some resource generation from another scrtipt, though.

Once again, I really enjoy this script. Thank you, and keep up the good work.

LDiCesare
Apr 07, 2006, 12:21 PM
Plugging resource generation from another script should eb pretty easy as I don't override it:
You must edit tectonics.py and put the addBonuses from another script. If you want to use something elaborate like Smartmap, which uses options, you'll have to replug that option in the script.
I'm still looking for a way to integrate some climate options in the default climate argument, if I can get rid of the "rocky" 'climate'.

LDiCesare
Apr 09, 2006, 06:54 AM
I uploaded version 3.5 there: http://apolyton.net/upload/view.php?file=8232_TectonicsV035.zip
This includes a climate option after the landmass option. I didn't use the default climate dialog because I don't know how to get rid of the rocky and cold items and don't want to let them in as alternates for standard (mostly because it would bias the random option).
There's also a varaition on starting locations in order to make it less likely that civs start alone on their continent/island (except for island landmass option).

Corbeau
Apr 11, 2006, 06:32 PM
Just tried a game with this. Not much to say in terms of technical stuff, since I don't know anything about scripting, but I can say that your script produces much better landscapes than the standard stuff.

NP300
Jun 15, 2006, 12:19 PM
This is a wonderful map script. It produces the most realistic, Earth-like terrain I've seen so far. I like how it creates large mountain ranges that can separate civs.

I did notice, however, that on Pangea and the lakes maps the deserts tend to be produced in long ribbons that have very straight borders. Certainly in the real world deserts tend to ocurr on those latitudes. But they do not appear throughout the whole length of the latitude. For instance we have the Atacama desert in Chile but at the same latitude there is no desert in Brazil.

Further, I think that in a real pangea there would probably be a large desert at the center of a Pangea continent, much like how there are deserts in the center of Eurasia - from Kazakhstan to Mongolia.

But these are minor peeves since I rarely play Pangea or lakes. The deserts appear quite realistic on continents and archipelago maps.

As for the mountain ranges, perhaps there should be a pass (a hill tile) about once or twice per major mountain range. This might simulate the passes between India and Afghanistan.

I also agree with the suggestion that if a model for ocean currents were included the maps might be even more realistic and interesting.

But all in all, thanks for the great map script!

NP300
Jun 15, 2006, 02:15 PM
I updated this to version3.0. This includes a menu to let you choose from earthlike, pangaea, lakes and islands.
Note Pangaea uses the default terrain generator for desert/grass/plains in order to avoid (realistic) huge deserts on such maps.

Interesting... That explains the ribbon-like deserts on Pangea. Do they use the default scheme on the lakes map also? I wonder what realistic deserts on Pangea would be like.

By the way, how could one go about making it use the tectonic generator for pangea, instead of the default? It may not be good for play but I am curious heh...

NP300
Jun 15, 2006, 05:29 PM
I have been using this generator exclusively for a while. It works very well with my custom rules (pre-renaissance units cannot cross desert, jungle, ice) becuase it generates large masses of various types of terrain and I find it more realistic. Keep up the good work!

That's a great idea. I implemented it and did the same with ice. I also made it impossible to found cities on ice and increased the movement cost of deserts and ice to 2.

LDiCesare
Jun 16, 2006, 12:57 PM
Actually, I went back to using the same climate generator for all land types (see change of version 3.3 in the .py file). I don't like the results for Pangaea a lot, but I am not sure this script is best suited for Pangaeas. I prefer Lakes when I want a land-dominated map (it usually produces a single landmass with a few big seas), where the climate results are better because of the few scattered water sources.
Changing the climate generator is done by editing the generateTerrainTypes method (tell it to use default implementation in case option Pangaea is picked).
As for Brazil/Chile deserts, I try to produce that by blowing winds from the sea and blocking them at mountain ranges, but that's more or less successful as I lower wind force gradually. Water currents could help make that better but I'm not up to modeling these I fear.
Passes in mountain ranges: I put a few random hills inside peak ranges (about one in ten), but they don't always create a pass, in particular if you have wide mountain ranges (two tiles wide or more at some points). if (self.dice.get(10,"Random pass") == 9): on line 347 - you can try to lower that (>=8 or 7 for instance) but that may not be fine enough. Maybe some postprocessing to create a range of hills along a given direction to ensure a pass would be more successful.

NP300
Jun 19, 2006, 11:41 AM
Thanks for the feedback. I do not know python well enough but if I ever got comfortable enough with it I might give the currents a try.

I see what you mean regarding the lakes producing better results than pangea. Along these lines, I was thinking that one could get better results with Pangea if one created a Pangea shortly after it started to break up. Thus, you should have one connected landmass but it might have many arms of the ocean cutting into it towards its center. This might improve the climatic results.

It might be sort of like the "triassic" map here:

http://geology.com/pangea-continental-drift.gif

NP300
Jun 19, 2006, 11:54 AM
Here's an interesting link which shows that Pangea was arid:

http://www.scotese.com/climate.htm


When the continents are gathered together in a Pangea, the wet tropical belt sometimes disappears.

gunnergoz
Jun 19, 2006, 01:24 PM
Is it just me or am I not seeing much in the way of hills in the maps made with this generator. True, i get a lot clustered by the mountain ranges, but almost none anywhere else.

NP300
Jun 20, 2006, 08:18 PM
I was looking at the Python code and thinking about how to implement currents. I came to realize that it's not really necessary to implement the ocean currents themselves.

This map shows that the currents are clockwise in the northern hemisphere and counterclockwise in the southern hemisphere:

http://earth.usc.edu/~stott/Catalina/images/Oceanography/surface%20currents.jpg

But I figure the heat from the currents is transmitted by the winds as shown here:

http://www.atmosphere.mpg.de/media/archive/3352.gif

So it is transmitted by winds blowing from the southwest to the northeast in the northern hemisphere and from the northwest to the southeast in the southern hemisphere. This is for the latitudes between 30 and 60 where we see the effects of the gulf stream.

This results in the characteristic climate of northwestern Europe, the "pacific northwest" and southwestern Chile. But in the Pacific Northwest and Chile the effect is nerfed by the Rocky and Andes mountains respectively.

Thus we don't need to bother with currents. The effects of the currents can be implemented through the wind model. One just needs to make the winds blow from the southwest to the northeast between latitudes 45 and 65 north. But in reality, because of the distortions of the flat maps used by Civ we would need the winds blowing heat between around 55 and 75 north.

As I looked at the code of the tectonic map generator I noticed that this is already sort of included:


if (latitude > 65):
if (moisture < 15):
if (latitude <70):
if (self.dice.get(10,"Jagged tundra") > 7):
return self.terrainGrass
return self.terrainTundra
else:
return self.terrainGrass


This chunk is for latitudes 65-74. This is just what we need to move the effect to these latitudes because the maps in Civ are distorted due to the fact that they are flat. Anyhow, I figure this code uses the moisture placed by the winds. The moisture turns the tundra into grasslands, which is just what we are looking for at these latitudes.

The only matter is to ensure that the wind blows in the right direction and that the effect is weakened the farther inland the wind blows. The wind blowing from West to East may be a good enough approximation. From what I've been able to read, the wind in the tectonic generator alternates direction every 20 degrees of latitude. But I'm not sure which way its blowing between 50 and 70 degrees, nor between 70 and 90.

I'm also not sure if the winds add less and less moisture the farther inland that they go, as they should to simulate the correct effect. For instance, we want the effect in Southern Sweden but not in Moscow.

In any case, I just wanted to point out that it appears to me that the map generator is already very close to being able to generate the effect of the gulf stream and other such currents. It may only need very minor tweaking, unless I am missing something.

suspendinlight
Jun 26, 2006, 08:33 AM
I love this generator. I'm still using it exclusively. I have a couple of comments though: First, the deserts still tend to be in large bands across an entire continent. How can this be tweaked to allow a little more variation in latitude and longitude. Second, I've noticed that large continents tend to have massive interiors filled with Plains tiles. Is this realistic? It makes the game quite difficult if you happen to end up on one of these areas.

Impaler[WrG]
Jun 26, 2006, 10:33 AM
I think your on a good track their NP300, as simple wind and rain system would give you what you want.

I sugjest something like this, Over every Water plot generate a "cloud" with X amount of rain in it, X being determined by latitude (more at Equator less at poles taking desert belts into account). Move each cloud east or west depending on its hemisphere once step at a time and drop some percent of the rain based on the terrain your over. Peaks cause a lot of rain to fall 30%, hills less 20% and flatland still less 10% (rough guess) note that rain falls on the tile imediatly preceding the terrain being evaluated.. When clouds hit Peaks they have a chance to be bumped north or south if theirs no Peak their as well then they continue going east/west untill they run out of Rain, they also might randomly wander north/south on occasion. Lastly generate a few "Monsoon" clouds that move in the opposite direction (west in the northern hemisphere, east in the southern)

Add up all the Rain that fell on each plot of land (ignore what falls in the Ocean). If the plot is a Peak move the water is shed and a virtual river forms , move the river around much like a cloud but just go downhill as best it can untill it reaches the sea, drop water along the way. Other tiles with very high rainfall could also get rivers. Once the rivers have run their course check all the plots against a table, thouse with less then X rain are deserts, less then Y plains ect ect. If their very high they grow forest/jungles depending on lattitude.

LDiCesare
Jul 02, 2006, 03:06 AM
About water genreating a cloud: That's about the way it works: Wind blows from water tiles and moisture diminishes as it goes inland. In a previous version, the wind blew, and the 'cloud' rained on a single tile, which didn't give good results.
Using that in order to form rivers is a nice idea, however. Since I'm not satisfied with the river genrating code, I wonder what results this would give.
I confess I do'nt know if my wonds blow in the right direction at the various latitudes, though they do alternate.
As for vast bunches of the same terrain: Deserts, and vast plains. Well, vast plains and deserts are realistic, but indeed for the game make things hard. Vast plains can be avoided by increasing the number of tiles. Lone hills can be added by increasing the number of hot spots (lowering hotspotsFrequency around line 600 or changing in the method line 336).
Vast plains I tried to cut out a bit by splitting plates with "rift valleys" (alternances of hills and lakes) but there may not be enough?
Deserts have too straight borders indeed. I tried to jag them a bit but that's still too straight. If someone has ideas of a means to decide whether a desert should form, or should not, at a latitude where we get the Sahara, I'd like to hear it.

tdb
Jul 21, 2006, 01:24 PM
Very nice. I generated a few maps and checked how they look like in worldbuilder. I like how the hills and mountains get clustered, although they do that maybe a tad too much. Maybe you could add a configuration option for this? Like Civ 1 and 3 (haven't seen 2) had the "age" option that controlled the amount of hills and mountains. Playing a totally eroded world with very little hills might prove interesting.

Also the latitudes stand out a bit too well - with pangaea setting there are two desert stripes which look rather funny.

Uberslacker
Aug 02, 2006, 12:46 AM
Would this script be compatible with the Fall from Heaven 2 mod?

LDiCesare
Aug 04, 2006, 11:29 AM
I haven't checkd FFH 2 but I don't think there should be much problem. I don't change the resources, so the only things that matter are the terrain types. If they don't work, then removing or replacing the climateGenerator to just keep the landmass/sea/mountain (and rivers) would still work.

Uberslacker
Aug 11, 2006, 07:27 AM
Excellent! I'll give it a try, then.

Kissamies
Aug 16, 2006, 02:05 PM
This is a very nice script. I like the shape of continents it creates. I have problems with polar regions, though. I don't mind continents going all the way to the pole, but I don't like when it's tundra all the way to the edge of map, especially forested tundra. That should be ice instead. Other thing is the small and tiny islands that sometimes appear at polar regions. AI likes to settle those and hunting down these polar strongholds is tedious.

Armandeus
Aug 18, 2006, 12:01 AM
This script crashes Warlords right after the generation screen says it is placing the player start locations. Can you update this for Warlords please? (Or is it just me?)

Kissamies
Aug 18, 2006, 02:11 AM
It works on Warlords for me. Could be that we use different settings for it, though.

Armandeus
Aug 18, 2006, 02:51 AM
I found the source of the problem and fixed it. It was unrelated to this map script. Sorry.

LDiCesare
Aug 21, 2006, 12:21 PM
Updated to version 3.6.
There are mostly 2 new features:
-Mediterreanean map option. This creates an inner sea with lands to the south and north. It is always possible to cross the sea by foot and/or trireme, though you'll have to go to the eastern border of the map to be sure of it.
-No ice option: This option is actually quite simple: It reuses the script default climate option and then replaces all tundra by grass and all ice by tundra.

For those who had problems, this script works fine with Warlords, and with the (great) Fall from Heaven II mod with Vanilla civ IV.

Jet
Aug 23, 2006, 04:18 PM
Cool!

I noticed that the Med option doesn't set the map latitudes, so that the default latitude range gets used for features, resources, etc.

alms66
Aug 23, 2006, 06:42 PM
Yes, it would probably be a good idea to set up an option to pick your latitude when using the Med. option. Something as simple (for the user) as polar, temperate & tropical would suffice, IMO.

dreiche2
Aug 24, 2006, 03:11 AM
Hi,

I tried your script with FfH and I really like the concept and the realistic landscapes it creates! However, there is a tendency to generate huge 'great plains' on large parts of the map, which can be a little bit boring gameplay- and flavourwise. Oh and I think there tend to be few rivers, especially larger ones, too.

So I wondered, wouldn't it be possible to make a compromise of the global scale features your script generates and some medium or small scall variety and randomness more like in vanilla (maybe changeable via options)? Maybe just by adding some additional random clusters of terrain (e.g. hills, deserts, grasslands, biger lakes etc.) on top of the original tectonics map?

This might very well become my favourite script :goodjob:

fenceman
Aug 24, 2006, 11:34 AM
The Mediterreanean maps looks good, but i think it should have a bit more land on the Eastern edge, right now it usualy just makes a few islands, and also snow covered forests are appearing on the southern part of the map near the desert.

LDiCesare
Aug 24, 2006, 12:08 PM
I think I'll be adding more land to the east of the Mediterranean script indeed, it's not that fun with islands because you need ships and ai's don't seem to explore as much with triremes/galleys as would be needed in order to make contact with other civs.
And yes, the climate is not used in the Mediterranean map, but I could in fact slide the latitude depending on user input. I am a bit dubious how user input can be taken here. I can reuse the arid/normal/wet/no ice setting, but it's not exactly what I'd want here, but I don't think I can put another option cleanly instead.

fenceman
Aug 24, 2006, 12:21 PM
Another thing, maybe add a few bigger islands in the middle of the map

Jet
Aug 24, 2006, 03:06 PM
I think I'll be adding more land to the east of the Mediterranean script indeed, it's not that fun with islands because you need ships and ai's don't seem to explore as much with triremes/galleys as would be needed in order to make contact with other civs.
And yes, the climate is not used in the Mediterranean map, but I could in fact slide the latitude depending on user input. I am a bit dubious how user input can be taken here. I can reuse the arid/normal/wet/no ice setting, but it's not exactly what I'd want here, but I don't think I can put another option cleanly instead.
More land east sounds excellent.

I'd be happy if you just hardcoded the map latitude to the range [25,65] consistent with your ClimateGenerator.getLatitudeAtPlot().

I think fenceman's island suggestion is worth considering both for Mediterranean-realism and to make the middle of the map more interesting.

I'm not sure whether the civs in the north have an advantage, but if they do and you don't want them to, you might try either forcing fewer civs to start in the south, or raising the entire south farther north.

LDiCesare
Aug 26, 2006, 11:46 AM
Version 3.8 is out.
3.8 is 3.7 + fixing the bug in 3.6 where all maps would wrap on Y axis except mediterranean.
3.7 (thus 3.8) includes changes to the Mediterranean map script option:
North and south always connected in the East by land.
More/bigger islands.
Correct latitude (25-65) taken into account for feature generation.

LDiCesare
Aug 31, 2006, 12:34 PM
Version 3.9 corrects a bug where forests would (almost) not appear on map types other than mediterranean.

Ohtar
Aug 31, 2006, 05:17 PM
I downloaded the 3.9 version, extracted to the public maps folder, and started a new game of Fall from Heaven. I selected Tectonics but it didn't give me the Mediterrean land mass or no ice options. What am I doing wrong?

LDiCesare
Sep 01, 2006, 12:08 AM
I don't know what's wrong there. I forgot to add a line 3.9 in the py file but if you open it with an editor, you should see 3.8 and find some references to 'Mediterranean' inside the file. If not, then it's not the good file. I checked by downloading the zip and it looks good. It runs fine with FfH2.0.14 for me.

Ohtar
Sep 01, 2006, 03:41 PM
I figured it out and got it working, I had extracted it to the wrong publicmaps folder initially. Thanks for keeping this script updated, I use it almost exclusively for my games as I find it generates interesting game play.

dreiche2
Sep 04, 2006, 04:59 PM
I made a modified version of your script for FfH that redistributes the starting locations your script generated to have FfH civs start in the matching region flavorwise, see

http://forums.civfanatics.com/showthread.php?t=183924

Let me know if you disagree with something, then I'll take it down.

LDiCesare
Sep 05, 2006, 11:56 AM
You're welcome to modify and redistribute the script as you see fit. I just wonder whether the assignStartingPlot function I put inside causes conflict with anything you wrote beneath?

dreiche2
Sep 05, 2006, 01:15 PM
Thanks!

No, I only use normalizeStartingLocations (or something, can't look up the name right now), which is called after everything else and normally is used to put teammates close together. Basically, all I do is to redistribute the starting locations your script already assigned to the players, much like normalizeStartingLocations would do, but I don't consider teams (yet) but instead the flavor of the civs.

Of course, that means I have only as many locations to choose from as there are players in the game. So depending on that not everyone will get a nice spot (flavorwise), but it works well enough in my opinion.

using assignStartingPlot() would be more logical, but also much more messy. The good thing about the current implementation is that I can let the base script handle what it was written to, and do my thing afterwards. And, as almost no one uses normalizeStartingLocations, it's easy to add my modification to all kinds of other map scripts...

Owain
Nov 05, 2006, 10:34 AM
Has anyone else had the problem with this script where you don't get to select % water/lakes/Mediterranean?

I've gotten so used to it, it doesn't even phase me anymore, but it always shows up when I hit "BACK" after getting to the civ select screen, but rarely shows up the first time through. I just thought it was worth a mention. I prefer the 60% water maps... although to be honest, they seem to have more than 60% water. :p

This is the only script I use btw. Great work.

LDiCesare
Nov 05, 2006, 11:41 PM
I have that too sometimes one of the option panels doesn't show. I really have no idea why or how (thus it's not fixed).
The 60% figure is very approximative indeed.

jkp1187
Dec 18, 2006, 09:02 AM
Nice -- I had no idea that this script was being continually updated. I will have to try out 3.9.

Does "mediterranean" map create a spherical map, or a flat one?

LDiCesare
Dec 18, 2006, 01:31 PM
Mediterranean provides a flat map.

jkp1187
Dec 20, 2006, 09:41 AM
Really enjoying v3.9. Nice job!

GoodGame
Jan 02, 2007, 02:26 PM
I second that---this script is much more excellent than most of default ones.

Hoping theres a 4.0!

tom1734
Jan 03, 2007, 01:13 PM
this is great,Thanks.
It must have been excruitiating to make.:goodjob:

jkp1187
Jan 09, 2007, 10:07 AM
This is more or less the only map script I use nowadays. Coupled with Blake's "Better AI", I had trouble waking up in time for work on Monday(!)

YoshiRPGMX3
Jan 23, 2007, 12:55 PM
I have to say, this is a great map script. I like the continents generated by it. But this script is missing something very important, where are all the forests and jungles?
Having more forests and jungles would help balance out the game.

LDiCesare
Jan 23, 2007, 01:03 PM
I don't understand the bug with forests and jungles. I can't get that bug, though at least one other person reported it.
You can check the last lines of the .py file and try removing the lines from:
def addFeatures():
to the end of the file and see if you can get forests/jungles.

kristopherb
Feb 28, 2007, 01:15 PM
what you need to do is make it s oit does not abruptly change into ice from grassland

bds
May 08, 2007, 12:30 AM
Best map script ever!

LDiCesare
May 10, 2007, 03:09 PM
One thing I might do is try to make the climate difference zones (polar/temperate in particlar) more progressive on big+ maps. On medium I think it's ok, and on small- it'd be hard to bring in more zones.

kristopherb
May 11, 2007, 02:24 PM
One thing I might do is try to make the climate difference zones (polar/temperate in particlar) more progressive on big+ maps. On medium I think it's ok, and on small- it'd be hard to bring in more zones.

it works on neverminds XXL maps see my gimic mod and it works.

LDiCesare
Jun 16, 2007, 04:34 AM
v3.10 uploaded.
Fixes the rivers in desert without flood plains.
Also makes the shapes of continents slightly less linear/rectangular.

kristopherb
Jun 16, 2007, 02:27 PM
can you make it so it doenst go from grassland to tundra sharply please

LDiCesare
Jun 16, 2007, 03:02 PM
You'd want a progression somewhat like this?
(pole) ice-tundra-plains-grass-plains-desert-plains-grass (equator)?
Or a mix of plains and grass right below tundra?
The current progression is more like ice/tundra-tundra-grass-plains-desert-plains-plains/grass.
Actually I'm not sure I ever understood the concept behind plains and grass. One is green and the other yellow, but 'plains hills' is an oxymoron and I don't understand what the rationale for the difference between grass and plain is supposed to be. The civilopedia isn't very helpful on that topic either.

Thedrin
Jun 16, 2007, 04:02 PM
I tend to view grassland, plains, and desert as representing differing degrees of rainfall. Desert is dry year round, grassland may have seasonal rains but wouldn't have any particularly dry seasons, while plains would have one very dry, desert-like season but rainfall at other times of the year to make up for it - like a rainfall equivalent of tundra; ice bound for one season but supporting grasses and emigrating fauna for the rest of the year.

lord_joakim
Jun 17, 2007, 05:15 AM
can't wait to try it out :D

LDiCesare
Jun 17, 2007, 01:15 PM
Version 3.11 uploaded.
I rewrote the climate generation code, so you have smoother transitions between ice, tundra, plains and grass. Desert transitions are still quite sharp.
Also made rivers less likely to spawn in deserts, resulting in longer rivers in deserts (let's call them Nile), and rivers are more likely to spawn from hills than flatlands.

Jean Elcard
Jun 18, 2007, 05:09 AM
1. Nice changes. Keep up the good work. I'm using your map script for the Fall from Heaven II mod and these mountain ranges are simply great for dwarves.

2. Is there a reason to keep desert transitions soo sharp?

3. Sometimes it occurs, that a river is connecting one ocean with another one. Looks a bit strange in my opinion.

LDiCesare
Jun 18, 2007, 10:59 AM
There's no reason to keep the desert transition sharp. It's just I didn't manage to get them otherwise. I would have to tinker with the moisture/rain generation again to change that, when I'm less lazy.

Rivers normally are not allowed to proceed from one ocean to another :(. Does it happen for long rivers or short ones (like each river having only a length of one plot)? Also did you see this only near the starting location of a civ?

GoodGame
Jun 18, 2007, 12:35 PM
I took plains to mean territory that is more suitable for strip mining than farming.
Essentially the difference was natural soil fertility.

You'd want a progression somewhat like this?
(pole) ice-tundra-plains-grass-plains-desert-plains-grass (equator)?
Or a mix of plains and grass right below tundra?
The current progression is more like ice/tundra-tundra-grass-plains-desert-plains-plains/grass.
Actually I'm not sure I ever understood the concept behind plains and grass. One is green and the other yellow, but 'plains hills' is an oxymoron and I don't understand what the rationale for the difference between grass and plain is supposed to be. The civilopedia isn't very helpful on that topic either.

Jean Elcard
Jun 18, 2007, 04:24 PM
There's no reason to keep the desert transition sharp. It's just I didn't manage to get them otherwise. I would have to tinker with the moisture/rain generation again to change that, when I'm less lazy.

Let's hope you are becoming motivate soon then. :-)

Rivers normally are not allowed to proceed from one ocean to another :(. Does it happen for long rivers or short ones (like each river having only a length of one plot)? Also did you see this only near the starting location of a civ?

The one time I remember it happening exactly was when it occured like you said. It was a two squares river near a starting location. I can live with that. I just assumed it may happen to longer rivers as well. Let's simply suppose it's something like the Suez or the Panama Canal.

Sine Nomen
Jul 15, 2007, 10:00 PM
This is a wonderful script and you've made many good improvements, but there are two things that still really bother me. One is the way deserts abruptly turn into grassland - generally I think they should border plains and not run perfectly horizontal along the map - some (slight) variation would be nice. The other problem is that land masses too often run off the top and bottom edges of the map. In fact, most maps the script generates don't seem to have free-floating continents of any real size. It makes the dynamics of the game odd and it's just strange to have tundra run off into nothingness. Continents also tend to stretch the Y-length of the map, making it rather difficult to circumnavigate. I hope these aren't hard to address! Keep up the good work

Larklight
Jul 18, 2007, 03:47 AM
You'd want a progression somewhat like this?
(pole) ice-tundra-plains-grass-plains-desert-plains-grass (equator)?
Or a mix of plains and grass right below tundra?
The current progression is more like ice/tundra-tundra-grass-plains-desert-plains-plains/grass.


I think he meant a more mixed progression: so no sudden bands, but blured lines. Say (G-grassland, P-plains)

GGGPGGPGGGGGPGGGP
GGPPGGGPGGGPGGGPG
GPPGPPGGPPPGPPGPPP
GPGPPGPPGPPGPPPPGP
GPPGPPPPGPGPPPPGPP
GPPPGPPPPPPPPPPGPP

for a slower transition (sorry no screenshot)

Awsome mod though! Running this and the real quotes one, first one's beyond FfHII I'm using and they work like a charm. Brings back memories of Civ II, where continents didn't mean two poo-shaped slugs.

LDiCesare
Jul 18, 2007, 12:46 PM
I'm trying to find an algorithm to generate deserts that are not in stripes. The current one definitely is too east-west oriented. I think I'll have to take hills/mountains into account to curve the winds, which could give some nice results, but if not, I can either use more randomness or use patterns to put blocks of 4 or 9 squares in which I'd scramble the terrain.

LDiCesare
Jul 18, 2007, 01:57 PM
I think I've got something for desert edges. Must test a bit more since it may be a bit too rough on smaller maps.

Sine nomem, on which settings do you generate yor maps? Small, huge, 60% water?
With 60% water, it is quite common to be unable to circumnavigate. Much rarer with 70%. I don't think continents run off into nothingness. When you zoom out, you see that there's a big polar cap just above. I did try to generate continents in less extreme latitudes in the version I'm currently working on.

jkp1187
Jul 19, 2007, 06:25 AM
Have any of our brothers from Oceania tried Tectonics on Beyond the Sword yet?

jkp1187
Jul 19, 2007, 06:39 AM
I think I've got something for desert edges. Must test a bit more since it may be a bit too rough on smaller maps.

Sine nomem, on which settings do you generate yor maps? Small, huge, 60% water?
With 60% water, it is quite common to be unable to circumnavigate. Much rarer with 70%. I don't think continents run off into nothingness. When you zoom out, you see that there's a big polar cap just above. I did try to generate continents in less extreme latitudes in the version I'm currently working on.

Good to hear. I was going to mention this as one of the issues (actually, the only issue, I wasn't too worried about the E/W deserts,) I had with the script. I stopped playing the 60% maps because I like to be able to circumnavigate....and, aesthetically, it just seems a bit odd for some of the continents to be anchored against the polar ice caps (esp. because you can't transit the poles.) Still, it makes exploration (and the race for the circumnavigation bonus) a bit more interesting, since you can't always be assured that there'll be a "northwest passage" around a continent.

I haven't had any issues with circumnavigation on the 70% maps -- I usually play standard, 70%, around 10-12 civs (if # of civs makes a difference.) In fact, in the last few games I've been playing, I HAVE had a couple of continents that had a "northwest passage" around them to the north. (Others did not, though.) Maybe this could be an option -- "No anchoring of continents against ice caps" or something?

Where do we send our PayPal donations to for all of your work? ;)

lumpthing
Jul 19, 2007, 08:59 AM
I took plains to mean territory that is more suitable for strip mining than farming.
Essentially the difference was natural soil fertility.

That's more or less my interpretation too. I just see plains as less fertile than grassland.

LDiCesare
Jul 20, 2007, 01:00 PM
I uploaded v3.12, which smoothes desert-grass transitions and breaks a bit the too linear limits between climate zones.

rev'en
Jul 24, 2007, 01:59 PM
Would it be hard to create it as a spherical map? Would be great!

LDiCesare
Jul 25, 2007, 03:34 AM
What do you mean by spherical map? Civ IV doesn't support these, only flat and cylindric.

Larklight
Jul 25, 2007, 03:39 AM
What do you mean by spherical map? Civ IV doesn't support these, only flat and cylindric.

Civ didn't support cool continents either before you: HAVE FAITH!

TheLastOne36
Jul 26, 2007, 08:53 AM
I like the map. But is it compatable with BTS?

kristopherb
Jul 26, 2007, 09:21 AM
I like the map. But is it compatable with BTS?

yes it does which im surpised at

lumpthing
Jul 29, 2007, 04:36 AM
Currently playing on my first tectonics map (70% water, immense, normal aridity). I really love it! The map feels much more real and gives all the different regions a strong atmosphere and sense of place. Thanks very much!

There was one minor problem whereby a river ended one tile before it reached the sea, but this was easily fixed with a world editor. I think the problem might have been that it would have ended at the same point as another river, so maybe it got confused or something.

Contrary to previous poster I like the way landmasses are often anchored to the poles. It always seem very artificial the way on normal maps there was a guaranteed seaway along the poles. Until very recently ice has made Arctic water impassable in the real world so why should a realistic map script make this impossible?

One thing that would be cool would be a tectonics 'terra' option - i.e. make sure there is at least one continent that is uninhabited, so that the civs have a 'New World' to colonize when astronomy is discovered.

I've been playing on BtS by the way so can also confirm it works fine with this xp.

rev'en
Jul 29, 2007, 01:53 PM
What do you mean by spherical map? Civ IV doesn't support these, only flat and cylindric.

With BTS I can choose "toroidal" as world wrap with a terra map. Makes it wrap the top and bottom too. Sorry about being unclear at first.

jpinard
Jul 30, 2007, 06:16 AM
WOW! I was referred here from another thread I'd started... frustrated with the fact I could NOT generate the kind of map I wanted to play on: http://forums.civfanatics.com/showthread.php?t=234604

This looks fantastic! I have one question... are there enough resources and rivers? I haven't played yet... so I'm just asking as a general question - not a complaint.

Thanks for the work on this! :)

lumpthing
Jul 30, 2007, 06:33 AM
on the game I've just given up (was being mercilessly ganged up upon :( ) there were loads of rivers and resources.

jpinard
Jul 30, 2007, 07:01 AM
on the game I've just given up (was being mercilessly ganged up upon :( ) there were loads of rivers and resources.

Sweet :) What do people use for Python editing anyways? Just a standard text editor?

jpinard
Jul 31, 2007, 07:18 PM
How do I change the Huge map setting? I need to have the world be just a little bit larger than it is (greater width x height).

Thanks!

LDiCesare
Aug 01, 2007, 12:07 PM
Add this in the .py file:

def getGridSize(argsList):
"Enlarge the grids! According to Soren, Earth-type maps are usually huge anyway."
grid_sizes = {
WorldSizeTypes.WORLDSIZE_DUEL: (13,8),
WorldSizeTypes.WORLDSIZE_TINY: (16,10),
WorldSizeTypes.WORLDSIZE_SMALL: (21,13),
WorldSizeTypes.WORLDSIZE_STANDARD: (26,16),
WorldSizeTypes.WORLDSIZE_LARGE: (32,20),
WorldSizeTypes.WORLDSIZE_HUGE: (38,24)
}

The map sizes here are those of Terra, which is bigger than regular map sizes. Just change x/y to what you want.
The script itself should do fine if you change the size.

jkp1187
Aug 01, 2007, 02:54 PM
Add this in the .py file:

def getGridSize(argsList):
"Enlarge the grids! According to Soren, Earth-type maps are usually huge anyway."
grid_sizes = {
WorldSizeTypes.WORLDSIZE_DUEL: (13,8),
WorldSizeTypes.WORLDSIZE_TINY: (16,10),
WorldSizeTypes.WORLDSIZE_SMALL: (21,13),
WorldSizeTypes.WORLDSIZE_STANDARD: (26,16),
WorldSizeTypes.WORLDSIZE_LARGE: (32,20),
WorldSizeTypes.WORLDSIZE_HUGE: (38,24)
}
The map sizes here are those of Terra, which is bigger than regular map sizes. Just change x/y to what you want.
The script itself should do fine if you change the size.

Cool. Thanks!

Does this need to be added to a specific place in the file, or can you just tack it on to the end?

And can this be added to any other script, as well? (Like to Hemispheres, for instance)?

jpinard
Aug 01, 2007, 04:05 PM
Add this in the .py file:

def getGridSize(argsList):
"Enlarge the grids! According to Soren, Earth-type maps are usually huge anyway."
grid_sizes = {
WorldSizeTypes.WORLDSIZE_DUEL: (13,8),
WorldSizeTypes.WORLDSIZE_TINY: (16,10),
WorldSizeTypes.WORLDSIZE_SMALL: (21,13),
WorldSizeTypes.WORLDSIZE_STANDARD: (26,16),
WorldSizeTypes.WORLDSIZE_LARGE: (32,20),
WorldSizeTypes.WORLDSIZE_HUGE: (38,24)
}

The map sizes here are those of Terra, which is bigger than regular map sizes. Just change x/y to what you want.
The script itself should do fine if you change the size.


Awesone :) One last question. I was reading a buhc of older posts and someone talked about issues with certain resources not showing up. I think it was wheat and cotton? Can't remember I was so tired. I'm just wondering if that issue was fixed at some point?

LDiCesare
Aug 01, 2007, 04:46 PM
I never got any issue with resources. Anyway, this map script doesn't change anything wrt resources.

jpinard
Aug 01, 2007, 11:45 PM
I figured out a way to make a Gigantic option for all maps:

For anyone interested. I made a Gigantic sized map. You can use this file and edit these files and edit the Gigantic size if it's not quite big enough yet. All the remaining work and entires have been done.
No data was overwritten.

http://forums.civfanatics.com/downloads.php?do=file&id=6307

jpinard
Aug 03, 2007, 02:20 AM
LDiCesare - Sorry I lied. That wasn't my last question... because I think this is my new last question!

How can I edit the script to have a 50% water option? The 60% water option is actually creating about 75% water right now...

LDiCesare
Aug 05, 2007, 10:45 AM
The proportion of kand/water is controlled in the generatePlotTypes() method.
You can change that around line 778 of the script.
Replace for instance

elif (userInputLandmass == 1): # "Earthlike (60% water)"
numContinents = 2 + numPlayers*2
numSeaPlates = numPlayers*3 - 2

with

elif (userInputLandmass == 1): # "Earthlike (60% water)"
numContinents = 2 + numPlayers*2
numSeaPlates = 2 + numPlayers*2

Note I use the number of players to decide thenumber of plates used in the tectonics script rather than the map size. This was both out of laziness (not knowing the map size) and to make sure there are enough plates on a small crowded map so everyone has some land.
A 50/50% ratio will probably generate slightly more land than water on average, as additional land is created when plates meet and when hotspots are generated.

jpinard
Aug 05, 2007, 12:24 PM
Just for reference I'm playing on a super huge map with 18 players... going to go try that change right now!

jpinard
Aug 05, 2007, 12:49 PM
I never got any issue with resources. Anyway, this map script doesn't change anything wrt resources.

I know you mentioned this before, but I just wanted to double chceck. There are a lot of resources on the map. Almost too many (for my Gigantic maps). So there's nothing modified for resources? It should use the standard algorithm?

Also, I madea bunch of edits to the 60% map, even setting it to a static 5 continents and setting static figures... like 1 continent 1 sea shelf... weirdly I'm still getting the eact same setup as before. Not sure why?

LDiCesare
Aug 05, 2007, 03:09 PM
Resources are normal.
Each seed generate a plate, which is then grown. If seeds are very near, the plates'll be small. If land plates are small, you've got more water. Put more land plates if you think there's too much water. The algorithm gives, by intent, very random results. So a 50/50 should give sometimes lots of water, sometimes lots of land and often about the same quantity of each.

jpinard
Aug 05, 2007, 09:44 PM
Sorry if I sound like a dunce. Just trying to understand it a bit more.

Is this what you're suggesting for equal water & land?

elif (userInputLandmass == 1): # "Earthlike (60% water)"
numContinents = 5
numSeaPlates = 5

LDiCesare
Aug 06, 2007, 05:02 AM
That would do it, though the number of plates is a bit small. For a gigantic map figures should be like 40 rather than 5. What I wrote would give roughly equal sea and soil.

jpinard
Aug 06, 2007, 01:44 PM
Sorry if I sound like a dunce. Just trying to understand it a bit more.

Is this what you're suggesting for equal water & land?

elif (userInputLandmass == 1): # "Earthlike (60% water)"
numContinents = 5
numSeaPlates = 5

Hehe, that ended up making a massive ocean with just a 1x1 square blib of land. Hmm, I totally don't understand this.

jpinard
Aug 09, 2007, 06:59 PM
LDiCesare - what does "hotspots" signify under the Lakes (30% land) setting?

LDiCesare
Aug 10, 2007, 12:11 AM
Hoitspots are a geological feature which tends to create volcanoes independently of where a plate is. So hotspots act as random terrain elevations, resulting in isolated islands on the sea, and isolated hills or peaks on land.

molst
Aug 10, 2007, 02:20 AM
Wow! This map script seems to be really exactly what I want! How do can I access the latest version? Thanks.

LDiCesare
Aug 10, 2007, 07:09 AM
The latest version is that linked in the first post. I update that post everytime I update the version.

Jarouik
Aug 12, 2007, 09:11 AM
This is really the only map script I use nowadays... thanks for the excellent work! The only question I have regards tundra - now that many continents touch the poles, it seems large amounts of the land mass is often occupied by tundra, which is a bit boring gameplay-wise, as well as giving the civilization starting next to it a disadvantage (less productive terrain).

Is it possible to adjust the script so that a bit warmer planets are produced, with perhaps less tundra and more jungle and desert? It would also make the comparative areas of each terrain type closer to that on Earth (in Civ, the polar areas are much larger than on real Earth, because the map is not spherical).

I do not want to eliminate ice altogether, or replace tundra with grassland, so I am not using the No Ice option... the standard scripts seem to have the Temperature control, but it is sadly disabled for the Tectonics script.

Refar
Aug 17, 2007, 05:52 PM
Or maybe it would be possible to adjust the script in a way, preventing the continents from touching the poles ?

I am thinking of including a variant of your script in my RandomMapScript, if you don't mind. (I send you a PM with some more detail).

LDiCesare
Aug 19, 2007, 11:46 AM
It's possible to prevent the continents from touching the poles. For instance, put a water tile on the poles (something like that is done in the Pangaea option of the script).

However, I won't do it, except maybe as an option, because it is definitely not realistic for me.
If you check a globe of Earth, you'll notice Groenland in the north is from 60° to 80°. In the south, Antarctica takes everything from 68° to 90°.
So if you want to say a realistic Earht requires water around the poles, the definition of pole becomes around 68 or 65° for the South pole. For the north, either it's 80° but then it's not symmetric, or you look at the arctic circle around 65° and look around Siberia.
The only way to have water at the poles is to consider the Civ poles are above 80°, but then by symmetry, Antarctica would take the whole south edge of the map.

GoodGame
Aug 19, 2007, 01:34 PM
Am loving Tectonics in BTS! Question---for Panagea can we get like a 'lakes and straits' option to add some finger projections of water into the panagea, and some largish (5-10 tile) lakes in the middle, feeding the rivers? Maybe even something like the North American Great Lakes. Mostly I only get one tile lakes.

EDIT: Also would an aritificial Hemispheres version be possible (quad corner continents)?

LDiCesare
Aug 19, 2007, 11:58 PM
for Panagea can we get like a 'lakes and straits' option to add some finger projections of water into the panagea, and some largish (5-10 tile) lakes in the middle, feeding the rivers?
It would be possible to get some straits but it's likely to generate islands instead, which is why I got the safe way. I'm sure the lands will always connect but I may have overdone it a bit. Lakes would be even harderto control.

Hemispheres
A lot of work to tweak them so there'd be enough land.

Honestly, I don't think I'll be doing either.

lumpthing
Aug 20, 2007, 06:26 AM
sorry to bug you but it is at all likely there will one day be 'terra' option for tectonics? i.e. a script that ensures a large area of land doesnt have any civs starting in it, leaving it open for mid game colonization?

LDiCesare
Aug 20, 2007, 08:18 AM
A Terra option is possible. It's actually the version I never uploaded because I lost it all when reinstalling my old computer... I've just always been to gutted to rewrite everything from scratch.

lumpthing
Aug 20, 2007, 09:46 AM
ah well, how annoying for you. well ill keep an eye on this thread just in case you ever recreate it.

Refar
Aug 20, 2007, 01:31 PM
You could insert the two methods from Terra.py into any script, to ensure all Civ's starting on the biggest landmass and thus leaving all other landmasses free. This obviously does not help producing a big continent, but when not adding too many Civ's above the standard setting for a mapsize, you shouldn't get any problems.

A tectionics-version with plates hinted to produce earth-like look would be great however :D


def isValidOldW(playerID, x, y):
map = CyMap()
if (map.plot(x, y)getArea() != map.findBiggestArea(False).getID()):
return False
return True

def findStartingPlot(argsList):
[playerID] = argsList
return CvMapGeneratorUtil.findStartingPlot(playerID, isValidOldW)

LDiCesare
Aug 20, 2007, 01:44 PM
You could insert the two methods from Terra.py into any script, to ensure all Civ's starting on the biggest landmass and thus leaving all other landmasses free. This obviously does not help producing a big continent, but when not adding too many Civ's above the standard setting for a mapsize, you shouldn't get any problems.
Yes, but I wanted to make it really Terra like. In particular, if the map generated has a single continent, it won't be much like Terra.

lumpthing
Aug 20, 2007, 02:47 PM
refar's suggestion is perfect for my purposes, thanks for the info

Refar
Aug 20, 2007, 03:28 PM
Yes, but I wanted to make it really Terra like. In particular, if the map generated has a single continent, it won't be much like Terra.

Yes. My suggestion was rather a quick-fix, than a solution. Really Tectonics Terra would be way better :D

lumpthing
Aug 20, 2007, 03:32 PM
yeah i guess its not a perfect solution thinking about it, but much better than nothing

Azazell
Oct 14, 2007, 03:05 AM
This Map Script is Great !! THX

Larklight
Oct 14, 2007, 04:11 AM
Is it just me, or does BtS seem to produce quite good maps by itself? I haven't got around to installing techtnics for BtS, but it seems like they've updated the map script.
Is this true, do you know? Actually, this is probably the worst thread to ask, since everyone here is running Techonics!

trafficlight
Oct 15, 2007, 02:28 PM
Yes, BTS does a better job of generating maps. Hemispheres and Medium/Small are pretty decent. Tectonics still beats them hands down, though.

xMikex
Oct 15, 2007, 03:11 PM
wow...
this is quite the map script. i saw this thread, mainly after getting fed up with the 2 blobs 'continents' script (searching for an alternitive), and decided i'd give this a try. it produced amazing maps for me (i sampled 60% and 70% water on large and normal) i'd get things like a large inland sea with a small opening to the oceans on one map, a supermassive continent with a small ististmus which would fit a canal city, large continents cut in half by mountains (to the point that there was a 1 tile pass on one side, and nothing else.
it produces astonishing maps- and there varied as well. i cant imangine ever going back to continents, fractal, or archipegio ever again after seeing them.

a couple things though. why are there huge expanses of land with few hills? it makes for production light inland citys... i read about the hotspots in older postings here, but thats not the only way hills arise. rivers can carve valleys, rocks from under the surface, ice can scrape gouges in the ground...
(a few random inland hills would be nice)

and i love how continents go right up to the top of the map! it got rid of the generic blobs that ware always oceanlocked (those are rarer now...) while sampling i came across maps that couldnt be cricumnavigated until subs, and maps that had an ice free passage, but required doubling back to do so.

great job! it even inspired me to post for the first time

lumpthing
Oct 21, 2007, 06:13 AM
You could insert the two methods from Terra.py into any script, to ensure all Civ's starting on the biggest landmass and thus leaving all other landmasses free. This obviously does not help producing a big continent, but when not adding too many Civ's above the standard setting for a mapsize, you shouldn't get any problems.

A tectionics-version with plates hinted to produce earth-like look would be great however :D


def isValidOldW(playerID, x, y):
map = CyMap()
if (map.plot(x, y)getArea() != map.findBiggestArea(False).getID()):
return False
return True

def findStartingPlot(argsList):
[playerID] = argsList
return CvMapGeneratorUtil.findStartingPlot(playerID, isValidOldW)

I tried inserting the above code into the tectonics script but alas it messed up and produced a map with nothing but rivers and grassland. I guess I need to understand how the scripts work to know how to integrate the code :/

Refar
Oct 21, 2007, 06:45 AM
It might be just a plain typo somewhere. Python is sensible to indentation, so if you coupied the code a quote in the forums, there might be a tab in the wrong place or something (forums sometimes add/remove whitespaces). Also you need to put the methods outside of any class.

The only other thing i can think of, is if Tectonics already does override the starting plot assignment (not sure if it does). If so, adding a second 'findStartingPlot' method might cause some kind of interference...


EDIT: ARRRGH!!! i also found a typo in my code :mischief: No idea how it got there, since i copy/pasted it from my script which is working... Anyway... There was a "Dot" missing (red one). Sorry. def isValidOldW(playerID, x, y):
map = CyMap()
if (map.plot(x, y).getArea() != map.findBiggestArea(False).getID()):
return False
return True

lumpthing
Oct 21, 2007, 07:26 AM
woohoo! Adding that dot made it work :D. Cheers once again!

rev'en
Oct 21, 2007, 12:06 PM
a couple things though. why are there huge expanses of land with few hills? it makes for production light inland citys... i read about the hotspots in older postings here, but thats not the only way hills arise. rivers can carve valleys, rocks from under the surface, ice can scrape gouges in the ground...
(a few random inland hills would be nice)

Such an addition would be great. Really great.

Xenomorph
Nov 07, 2007, 01:59 PM
couple things though. why are there huge expanses of land with few hills? it makes for production light inland citys... i read about the hotspots in older postings here, but thats not the only way hills arise. rivers can carve valleys, rocks from under the surface, ice can scrape gouges in the ground...
(a few random inland hills would be nice)
I noticed this too. I'd sometimes see Madagascar-sized islands nearby the continents with almost no hills and absolutely no mountains. I also often see the entire center of continents devoid of any rivers, even if there were lots of mountains in the center. To me, these are the biggest problems of the whole map script. It is otherwise total kick-ass-ery.

Xenomorph
Nov 15, 2007, 10:07 AM
I noticed one other "bug." I almost never see deer or fur randomly spawned on the map. Is there something preventing this from happening?

suspendinlight
Nov 16, 2007, 10:12 AM
I think this script uses the built-in resource allocator but I thought this was kind of a weird resource distribution, 11 ivory resources in the same place??

jpinard
Nov 16, 2007, 11:54 AM
I think this script uses the built-in resource allocator but I thought this was kind of a weird resource distribution, 11 ivory resources in the same place??

I've seen that as well. There won't be any more ivory through the rest of the map.

Refar
Nov 16, 2007, 01:54 PM
Even if using th default ressource placement, it might give you unexpected results with a custom land/climate script. Some ressources will only appear in certain terrain/climate.

Just for example - if you remove all cold climate tiles from the map you will end up without Furs, Whales and probably witout Deer and Silver as well.

My guess on the elefants is: the game usually places some resources only on one continent. So if if the continent where it chooses to put the elefants only has very few plains - elefants like to live in plains - they all end up in a big herd on the few available plains. Well. Elepants are herd animals anyway :P

LDiCesare
Nov 16, 2007, 02:21 PM
Even if using th default ressource placement, it might give you unexpected results with a custom land/climate script. Some ressources will only appear in certain terrain/climate.
I don't want to touch the resources placement, but indeed that one's a bit over the top.

Refar
Nov 16, 2007, 02:32 PM
I don't want to touch the resources placement I have similar feelings about it. Mainly because there is almost no reference/examples in the default scripts. All is handeled by C++ it seems.

What i tried to say, is that you not necessarily need to touch ressources - perhaps tweaking the climate, so that plains areas are a bit more common, could solve the whole issue.

Also i dont think it is that big of a issue - i played some tectonic maps, where there were no ressource problems at all. And even if something weird - like those epefants - happens, it's not a big deal - there are supposed to be monopoly ressources anyway.

Sto
Nov 16, 2007, 04:16 PM
What i tried to say, is that you not necessarily need to touch ressources - perhaps tweaking the climate, so that plains areas are a bit more common, could solve the whole issue.

In fact ,You will have the opposite effect . civIV first decide the number of resources to place in function of the number of available tiles the resource can be placed and the xml random values . Take a look at the SDK for the resource placement (i don't have it on this pc , but if i remember well all is in CvMapGenerator.cpp : addBonuses , addUniqueBonus , addNonUniqueBonus and countNumberBonus ... something like that ) and you will understand why all elephants are placed in such a small place .

Tcho !

Edit : now i'm on my pc and i've taken a look at the sdk . the function that count the number of bonuses to place is calculateNumBonusesToAdd . But this function is called without knowing if the process place an unique bonus ( like ivory that will be placed in only one area ) . So if there is a lots of tiles where ivory can be placed the number of ivory placed will be high . But if the random selection of the area (where all the ivory are placed) choose a small area where there is few tiles where ivory can be placed : all of them will be placed on this tiles .

xMikex
Dec 09, 2007, 06:47 PM
a couple ideas, ive been playing nothing since tectonics since i got it, and thought about some minor quirks.

what would be the effect of making tundra more likely to appear around lakes and coastlines where it is otherwise ice (coastlines are usually less desolate the the interior of ice continents?

could you put icebergs over the northernmost ice land? it deosnt make sense sometimes to have ice on the water, but just because its land, it gets to be icecap free

less plains? they seem too common. what if you put a random 50% chance of grassland on borders between plains and grassland? or put a random chance of desert in plains (much less common) i hardly ever see any deserts

and could it be possible to add more random hills inland? inland cities seem too priduction light, and there are many reasons for hills (plate folding, lava domes...) could account for more hills

is it at all possible to try to center the minimap on the largest continent?

its a beautiful script, better then anything ive seen from the basic maps, but a few little things could make it perfect.
or, could anyone show me how to do something lke this?

lumpthing
Dec 10, 2007, 01:47 AM
or put a random chance of desert in plains (much less common) i hardly ever see any deserts

Yeah I always play arid to get some decent-sized deserts. In reality, Earth has many huge desert areas, so I think there should be more in tectonics.

But for me the one big area for improvement is pangea maps. Has anybody played on one? It's very monotonous - just a strip of plains, followed by a strip of desert, followed by a strip of plains again, folllowed by a strip of jungle-grassland etc etc. I'm sure the real Pangaea wasn't like that.

Anyway that's not a huge problem cos I just never play Pangaea. It certainly doesn't stop this from being the best map script going in my opinion.

Thedrin
Dec 10, 2007, 01:52 AM
LumpThing:
I'm sure the real Pangea wasn't like that.

It was pretty much all desert (no water made it very far inland).

lumpthing
Dec 10, 2007, 02:23 AM
Not according to this map: http://www.scotese.com/newpage8.htm

alexman
Jan 18, 2008, 11:44 AM
Hi LDiCesare,
Would it be OK if we included this map script in a future patch?

LDiCesare
Jan 20, 2008, 01:22 PM
Hi Alex, sure it would. Damn, maybe I should upload the latest version though. Not sure, it's got more peaks, but that may be a bit unbalanced and I haven't tweaked it enough yet.

DrJambo
Jan 21, 2008, 10:14 AM
Alexman, as well as this one, the random map script (http://forums.civfanatics.com/showthread.php?t=236835) by Refar is also excellent! Kudos for including new map scripts! :D

LDiCesare
Jan 21, 2008, 01:41 PM
I uploaded a new version.
This one adds more peaks (uses two passes of tectonics, with some erosion after the first one).
There are also more hills due to fault lines being more common (mostly on bigger maps).
I also corrected the starting plots code.
Last, there is a Terra option. It's not really Earthlike in many places, but you've got North and South America with Andes and Rocky mountains, Europe, Africa, Asia, Australia. Mountains in the old world may be a bit too peaky (particularly north east of Africa, and the Ural may be a bit too high). All civs start on the Old World.

Spocko
Jan 21, 2008, 03:07 PM
Put tectonics.py into your Public Maps folder (in My Documents\My Games\civilzation IV), and now the tectonics map type will appear in "Custom Games".

I just put v313 into the Civ4 PublicMaps folder (even though I'm running BtS) and renamed Tectonics.py to be Tectonics313.py. When I open BtS, Single Player, Custom Game, Tectonics313, the system generates a beautiful, green plain (with some trees) that covers the entire map.

Surely my name change didn't affect the code's implementation (I'm going to rename it back and try it anyway)... but what could I be doing wrong that would generate a map consisting exclusively of grasslands with a few trees?

I really liked using the older versions of Tectonics so I look forward to getting this new version to work for me.

Thanks!
Spocko

OMG! Renaming the file DOES make a difference! Beautiful maps now!! Thanks LDiCesare!

cephalo
Jan 21, 2008, 03:08 PM
Hi Laurent,

I got long endless loop during the starting plot finder on my first attempt. My debug file was 114k of this kind of thing:

pass

2178

failed

player

5

pass

2179

failed

player

5

Edit: hmm second attempt also

LDiCesare
Jan 22, 2008, 02:37 AM
I probably screwed the starting location when putting specific code for the Terra option. Which setting were you using?

cephalo
Jan 22, 2008, 06:58 AM
I had that problem on Earthlike 70% water and on 60% water.

On Lakes, I got a series of these:

Traceback (most recent call last):

File "Tectonics", line 1458, in findStartingPlot

UnboundLocalError: local variable 'value' referenced before assignment
ERR: Python function findStartingPlot failed, module Tectonics
Traceback (most recent call last):

Do you have your popups turned on? Without popups, this last error will just silently use the default starting plot code, so you might not have caught it.

LDiCesare
Jan 22, 2008, 01:07 PM
3.14 uploaded. Fixes starting plot error.
Cephalo, thanks for the notice.
My fault, I didn't test it on all settings, only on the new Terra one :blush:

cephalo
Jan 22, 2008, 07:19 PM
3.14 uploaded. Fixes starting plot error.
Cephalo, thanks for the notice.
My fault, I didn't test it on all settings, only on the new Terra one :blush:

Ok, it works now. I really like those mountain ranges. The Terra option is really cool too. I generated a few maps and got some interesting looking mediterrainian seas, but always recognizable as such. :)

jkp1187
Jan 22, 2008, 08:40 PM
I like the Terra concept. Just three comments:

1.) It would be nice (and easy, I think) to include an extra "Terra - Unrestricted" option that does not use "allOnBest = true".

2.) I really like how the mountain ranges dominate central Eurasia and the Americas' West Coast.

3.) On the other hand, I generated five maps in a row, and the Americas always looked like a sort of misshapen hourglass, and Africa like a misshapen circle. Just an aesthetic thing for me, but is it possible to vary the continent shapes?

LDiCesare
Jan 23, 2008, 01:40 AM
1.) It would be nice (and easy, I think) to include an extra "Terra - Unrestricted" option that does not use "allOnBest = true".
That should be easy.


3.) On the other hand, I generated five maps in a row, and the Americas always looked like a sort of misshapen hourglass, and Africa like a misshapen circle. Just an aesthetic thing for me, bu