[Map Script] SmartMap

Gazoontite !

Yeah i can give that setting up for sp first a try, thought we did walk through options together in custom game before setting up on MP, but not sure if those settings carry over to sp, can give it a try a little later.
 
No problem with that , you don't have to choose the settings (there 's an initialization of a variable that is done at the set of the menu option . and it is not done if the non hosting player have not smartmap at the preselected map : the last map played in sp ) . But there is another initialization at the beginning of the lauching of a MP game . So i know that there is a problem there , but even don't know if it is enough to prevent OOS .
 
Now that i think of it, we both loaded single player maps using smart map, looking over the map types.
 
Surt... just dropping a big thank_you for such an awesome tool. I could not imagine playing CIV_4 without this priceless tool.

When's the next version expected to arrive ? :D
 
I'll have a look at all the code that changed between the previous version and this one to try to identify what might be causing OOS. The next version will probably be another week or two, as I'm currently on a long business trip.
 
First off, I have to say... I've been using this map script for about 2 weeks now and I love it. Great map script! Thank you for the time and effort you have put into it. I'd give you a gold medal if I had the power.

That said, I do have one tiny issue with it. Lakes. No matter what settings I use it makes about 50 billion (exageration OMG!) lakes on every continent. I've tried it with multiple different settings and nothing has done any good (including the fewest lakes option). No matter what I do it puts tons of lakes. This is the only thing I really don't care for in the script. I don't suppose it would be possible to make the fewest lake option have considerably fewer lakes? I feel stupid even asking after you have already done so much but if you happen to get around to it that would be awesome and this would be flawless. I'd have no need to use any other map script ever. :)

Thanks again for a great contribution. Much appreciated!
 
Regarding ChronoCore's statement, perhaps you could add a "No Lakes" option?

Keep up the amazing work surt.
 
I hope I can contribute to a recent discussion and also bring up some new ideas.

I like Mediterranean-style maps. The Mediterranean is one example. Here are other examples of maps with a central sea and land masses bleeding off the sides.
http://www.dodgenet.com/~moonblossom/Elric/ykmanag.jpg
http://www.nysalor.net/runequest/kartat/glorantha/glo1.png
The first one is a better example. Also, my personal preference would be to have more land bridges around the edges than these maps have. But you get the idea. Maps like this have partly a continents flavor, but partly an archipelago flavor, and a central naval highway that provides interesting connections. Well, I believe no map script does anything like this. So it would be cool if you wanted Smartmap to do it.

I also like is predesigned maps. To me they have more character and a more compelling sense of place and story.

Check out the maps that come with The Ancient Mediterranean mod. The Magna Graecia and Fertile Crescent maps have a distinct style that makes for interesting play. But I'd like to focus on the "TAM Mediterranean Normal" map as a challenge target for how a map can be interesting in ways not currently implemented by any map script. This will be easiest to follow if you can look at the map itself, but:






One thing I like is the "soft partitioning" of the map into seas, subcontinents, penninsulas, and islands, connected and blocked in different ways by channels, isthmuses, and mountains. The partitioning partly arises from the way the mountains and hills form ridgelines.

The partitioning suggests subregions. Even if the content within each subregion was completely random, if you were playing the map, you'd still attribute some identity to the different subregions.

But the rest of the content is not completely random. Terrain and features give a distinct flavor to various subregions. I want to argue that even the limited elements that maps have can be combined into interesting patterns.

Along the West African coast there's a flat, fertile strip at the coast, then a fertile, wooded ridgeline, then an arid valley, then a very arid ridgeline, then a flat desert.

Farther east along the African coast, there's a strip of plains before you hit the desert farther inland. Yet it's practical to settle the coast because of resources, and because of oases that provide fresh water to some of the plains tiles.

In Turkey there's a fertile region in the West, a wooded, hilly region in the North, an arid plateau or valley in the middle, and an arid, hilly, peaky region in the south.

The Caucasus is peaky, fertile, and wooded.

North of the Caucasus is a flat, uniform plain. Very distinct from the region next door! Despite the uniformity, it can be settled because of resources, which aren't uniform, and because it's not that large an area, so it bleeds into other subregions at the edges.

West into the Crimea it's similar, but fertile.

The Tigris and Euphrates flow through what is very clearly a flood plain. To the northeast, it’s rocky and arid. To the west, plains. To the south, desert. The east coast of the Mediterranean is fertile, then gets arid as it goes over the ridgeline.

Resources also add flavor. Opium is only in the east. Elephants are only in West Africa. Wine is only in an arc from Spain through southern France into Italy.

You could get fancier. "Horses only occur in open areas, with open tiles surrounding." "Clams and Clay only occur near the mouths of rivers". “Cows only occur on grasslands or plains rivers”.

Some properties of resources can be read from the XML. It’s conceivable that some could be invented: for example if it is not clear that resource X is a critical military resource that must be distributed across the map for balance, a run of a map script could invent constraints on the distribution of X for the current map. Some things would only be practical with richer XML for the resources.

A related issue is what the scale of the map is supposed to be. Imagining that the map represents different amounts of real area causes you to think differently about things in subtle ways. For example the Magna Graecia map in The Ancient Mediterranean is at a small scale, and it’s geared to an ancient economy. So you get distributed, struggling cities near scarce resources, and you get a lot of poorly-inhabitable barbarian regions. It’s pretty cool.

I’ve considered trying to program some of this, starting with Mediterranean-style land outlines. If SmartMap did it, I might not try. But I got to Hello World, and can I ask... Can you get a map script to reload without restarting the Civ application? Also it appears that to generate the underlying fractals, the Python code calls CvFractal, which is in the SDK, through a layer CyFractal that is not in the SDK. Is that right? Does anything significant happen in CyFractal, or is all the action in CvFractal?
 
Jet said:
Also it appears that to generate the underlying fractals, the Python code calls CvFractal, which is in the SDK, through a layer CyFractal that is not in the SDK. Is that right? Does anything significant happen in CyFractal, or is all the action in CvFractal?
I haven't looked at these files specifically, but normally when both Cy and Cv versions of a file exist, the former is just a long list of what are known as wrapper functions that allow C++ functions to be called in Python. What this means is that you can use the C++ functions relatively easily, but if you want to modify them or add more of them you have to get into the SDK.
 
Jet said:
I hope I can contribute to a recent discussion and also bring up some new ideas.

I like Mediterranean-style maps. The Mediterranean is one example. Here are other examples of maps with a central sea and land masses bleeding off the sides.
The first one is a better example. Also, my personal preference would be to have more land bridges around the edges than these maps have. But you get the idea. Maps like this have partly a continents flavor, but partly an archipelago flavor, and a central naval highway that provides interesting connections. Well, I believe no map script does anything like this. So it would be cool if you wanted Smartmap to do it.

The basic idea of central navy highway isn't too hard, I may throw that in when I get a chance.

Jet said:
I also like is predesigned maps. To me they have more character and a more compelling sense of place and story.

That's why i've added the ability for smartmap to load designed maps and reshape them. It gives you the added flexibility of getting non-predictable resource placement, and other subtle changes, while getting the other features that make up more of the strategic design of the map.

Jet said:
The partitioning suggests subregions. Even if the content within each subregion was completely random, if you were playing the map, you'd still attribute some identity to the different subregions.

But the rest of the content is not completely random. Terrain and features give a distinct flavor to various subregions. I want to argue that even the limited elements that maps have can be combined into interesting patterns.

...

The main problem with that is that it is hard to do randomly. Defining a lot of patterns requires a lot of logic. Then combining them in a way that doesn't look bad is a challenge.

Jet said:
You could get fancier. "Horses only occur in open areas, with open tiles surrounding." "Clams and Clay only occur near the mouths of rivers". “Cows only occur on grasslands or plains rivers”.

Again ... the main work here is that you have to encode a lot of rules.

Jet said:
Some properties of resources can be read from the XML. It’s conceivable that some could be invented: for example if it is not clear that resource X is a critical military resource that must be distributed across the map for balance, a run of a map script could invent constraints on the distribution of X for the current map. Some things would only be practical with richer XML for the resources.

This would be a very good way to do things. I dearly wish Firaxis would take more time to clarify, document, and extend their xml definitions for resource placement. SmartMap can't do this and remain mod-indifferent.

Jet said:
I’ve considered trying to program some of this, starting with Mediterranean-style land outlines. If SmartMap did it, I might not try. But I got to Hello World, and can I ask... Can you get a map script to reload without restarting the Civ application? Also it appears that to generate the underlying fractals, the Python code calls CvFractal, which is in the SDK, through a layer CyFractal that is not in the SDK. Is that right? Does anything significant happen in CyFractal, or is all the action in CvFractal?

You can definitely reload(whatever.py) from the console. I do it pretty often with SmartMap work.

I don't know much about the fractal code, I don't use it at all. I would guess that the real fractal work is all in SDK because it is fast.
 
I notice when I play "Pangaea" option and choose Player Start Coastal.... most of the time the map generates "Salt" lake seas that doesnt connect to the ocean :mad:

this wouldnt be bad as in itself but then my civ starts on one of these "coasts" instead of the ocean coast that I want!

I have played this with map sizes of regular/large/huge with similar results

I also have the "few" lakes options set...

sometimes the "salt lake" can be 3x3 plot sizes... other times they can be over 6x3 sizes.... once even had a 10x3 (approx) size that didnt connect to the ocean :sad:

sometimes the "salt" lake has bonuses...sometimes they do not...


is there any way to fix this? :blush:


or add an option to remove these "salt" lakes from Pangaea?

I love this map script but this really erks me... especially when I like to base my civ on Naval opportunites

Just a suggestion :D
 
v1.61 v9.1

These maps were all generated on huge, 2 large conts, player start coastal, few peaks no block.
I've included the screenshots in case you wanted to see the minimap.

Gold: One time about 2/3 through the map generation I heard the sound of gold from a goody hut. When the game started I had 47 gold. Apparently, either my warrior or settler was created on the goody hut. If it were my warrior, I'd shudder to think what would have happened if they had been hostile.

Peak: Although I have the option for peaks to not block resources on, I still have copper being blocked by 2 peaks. Also, the option for 20% peaks is repeated. As a side note, I really dislike starting on resources (hidden aluminum in this case).

Bad Start: I asked for a coastal start, not a 2 tile island start! When fixing this, remember to start the warriors and scouts on the same physical landmass as the settler.

No Coast: I didn't take a screenshot of this. My coastal start had 1 coastal tile. Unfortunately, the coastal tile was surrounded by 3 iceberg tiles - not a very good coastline.

Suggestions:
Clump jungles a ton. I don't like seeing 2 jungles surrounded by plains etc, on huge; I'm not sure a jungle that size would survive. Look at the Amazon in the huge Earth18Civs scenario. I also don't see as much of the sea food clumping as in regular maps.
Make an option for player start climate. Any time I see an iceberg, or ice I immediately regenerate. So, selecting something like Player Start Temperate Coastal would be great.
 

Attachments

  • SmartMap Bad Start.JPG
    SmartMap Bad Start.JPG
    131.2 KB · Views: 189
  • SmartMap Gold.JPG
    SmartMap Gold.JPG
    92.1 KB · Views: 237
  • SmartMap Peak.JPG
    SmartMap Peak.JPG
    142.2 KB · Views: 249
AalaarDB said:
v1.61 v9.1
Peak: Although I have the option for peaks to not block resources on, I still have copper being blocked by 2 peaks. Also, the option for 20% peaks is repeated. As a side note, I really dislike starting on resources (hidden aluminum in this case).

That certainly looks like it should have been caught, I'll have a look at that.

AalaarDB said:
Bad Start: I asked for a coastal start, not a 2 tile island start! When fixing this, remember to start the warriors and scouts on the same physical landmass as the settler.

Not sure how that happened, it should have preferred to place you on the main landmass. I'll try to find out how that could have happened.

AalaarDB said:
Suggestions:
Clump jungles a ton. I don't like seeing 2 jungles surrounded by plains etc, on huge; I'm not sure a jungle that size would survive. Look at the Amazon in the huge Earth18Civs scenario. I also don't see as much of the sea food clumping as in regular maps.
Make an option for player start climate. Any time I see an iceberg, or ice I immediately regenerate. So, selecting something like Player Start Temperate Coastal would be great.

For resource placement, you can set clump happy/healthy, which will clump the sea food resources using the same method that the standard scripts do. You can also use the 'standard' generator, which will place all resources like the standard scripts.
 
Surt, noticed something odd(I am runnning 9.1). I was trying to get a smaller ocean space(more land to conquer), using Huge, 1 per Player landmass. If I set the standard option to Low Ocean, I get one big odd shaped landmass, instaed of 1 per player with a smaller surrounding ocean. I tried 60% ocean coverage and got similar results. What is the "standard" ocean % on normal? maybe can toy with that percentage to get what I am looking for.

Cheers!
 
BlazeRedSXT - If I remember right, the standard ocean percentage is between 60 and 70% (like on Earth).

surt - I second the request for player start climate. Tundra starts are hard.
 
I've been using this script for months, so I'd thought I'd drop by and give a big :thanx: Every time I think you can't improve it any further there's suddenly a new version with a couple of new features. I especially like the ability to import custom maps!

I also wanted to say I've spent the morning messing around with SmartMap in Warlords, and it seems to be working just fine there as well.

Rabbit_Alex said:
surt - I second the request for player start climate. Tundra starts are hard.

I'll third this. Also, a "no lakes" option would be great.
 
Back
Top Bottom