[Map Script] SmartMap

skovran said:
Hi! Thanks for the fun set of maps. I enjoy OCC games, and this script has made many good maps.

I have occasionally enountered a problem where the regeneration of a SmartMap map does not honor my settings if Civ has been quit since the map was first created. This comes up when I have been crushed mid-game and want to have another go at the opponents but with a different starting position.

I am using SmartMap 8.7 and no other mods.

I can reproduce the problem with the following steps:
1. Start Civ and launch a Custom Game using the default SmartMap settings. ( The map will have mountains and ocean and other interesting features. )
2. Quit Civ.
3. Launch Civ by clicking on the AutoSave_Initial_BC-4000.Civ4SavedGame file
4. Regenerate Map.

The resultant map will have no hills or peaks, no oceans or lakes, and no x or y wrap. It will have a few forests and jungles, and some rivers that tend to travel directly north-south. I think these features are the result of SmartMap relying on default map choices that never get initialized due to the different way the Civ engine handles the Renegerate Map action.

I am not sure how this should work. Even if the script did read the smartmap84.cfg file to get the user settings, those would be the setting of the last map created, not necessarily the map of the save game that was loaded. Is it possible to annotate the map portion of the save game with the parameters of the map script? Does a saved game know which map script created it, or does Civ rely on the settings in CivilizationIV.ini?

Thanks again for the great script.

Thanks for reporting this. The cause is actually a script error that occurs during map regen when init has never been done at all. The underlying problem is a long standing problem with map regen (a civIV bug / flawed design): it really ought to re-init during map regen, the CvMapScriptInterface suggests that it should.

In any case, I have a work around that fixes this so it will work like you'd expect, so this will be fixed in the next version. In the meantime .... don't do this. :-)

Follow up: and luckily enough it works like you would hope: a 3 continent save game regenerates a 3 continent game, even if your last map gen was a 6 continent game.
 
scalawag said:
Thank you, I love this map generator!

In response to Keldath, I play multiplayer almost exclusively, and use smartmap now almost exclusively. I *think* only the host needs smartmap, but I'm not certain. I could see problems in the staging area in lan/internet multiplayer if the others didn't. It's a fairly small file, though, easy to email.

Only the host needs it. The host generates the map using the script and then sends it to all connected users.
 
First of all, thanks for the map generator! I tried it out a few times and I am getting a few bad memory placement errors that crashes the game. Also, I got a negative map coloring when I switched to the map editor and back again. Other than that it seems to work great! I do have a couple of suggestions right off the bat. I don't know if they have been mentioned already though.

My first suggestion is to add a size geration choice that also controls the shape of the map to make it so you don't get the skinny maps either hightwise or widthwise.

Secondly, I would suggest adding a seperation choice that works for civilization placement on all land maps, or even just in general. I don't mean continental seperation, I am suggestion that it makes sure your civilization is placed so that it will be guaranteed to be at least a certain distance from the nearest rival civilization's placement. This could be controled by the player in a way similar to the continental seperation or by simply saying it will be "X" ammount of tiles away.

My third suggestion is to add Gigantic to the size choices in addition to the normal ones. This is so players can choose that for playing with 18 or more civilizations.

I apoligize if these suggestions have already been addressed. Thanks again for the map generator, it is awesome!
 
goodyhut said:
First of all, thanks for the map generator! I tried it out a few times and I am getting a few bad memory placement errors that crashes the game. Also, I got a negative map coloring when I switched to the map editor and back again. Other than that it seems to work great! I do have a couple of suggestions right off the bat. I don't know if they have been mentioned already though.

Memory errors are probably due to your computer not having enough memory for a larger map. SmartMap maps are slightly larger by default, if you don't use enough ocean you'll run into trouble. Try generating slightly smaller maps.

goodyhut said:
My first suggestion is to add a size geration choice that also controls the shape of the map to make it so you don't get the skinny maps either hightwise or widthwise.

That's exactly what the override width and height controls are for. Pick the exact size of map you want using those. They have convenient indicators for the usual map sizes to help you gauge the exact size you want.

goodyhut said:
Secondly, I would suggest adding a seperation choice that works for civilization placement on all land maps, or even just in general. I don't mean continental seperation, I am suggestion that it makes sure your civilization is placed so that it will be guaranteed to be at least a certain distance from the nearest rival civilization's placement. This could be controled by the player in a way similar to the continental seperation or by simply saying it will be "X" ammount of tiles away.

The main problem here is that it is not always possible to place all players X apart from each other, depending on the shape of the map. The current algorithm also does favor fairness in resources over distance, however, so i'll think about adding an option that will always favor distance. Also, a note: all land maps use the most memory, so if you are generating big, all land maps, that's probably the cause of your memory problems.

goodyhut said:
My third suggestion is to add Gigantic to the size choices in addition to the normal ones. This is so players can choose that for playing with 18 or more civilizations.

Unfortunately, that isn't possible, the size set is coded in a way that would make adding another size very difficult (note, since I see you're using the six sizes mod, the reason this is a problem is that both the mod, and the map script have to be in agreement about the number of map sizes, and since smartmap is designed to be compatible with standard mods, I have to assume that there are therefore just the usual 5 sizes, otherwise smartmap would be incompatible with any 5 size mod). However, you do have access to the override width and height controls, so you can generate any map size you'd like, including sizes that would take a computer with hundreds of gigabytes of memory (currently ... i put them in hoping firaxis would improve the per tile memory usage at some point). The only downside to using enormous maps is that the game pace is not adjusted beyond huge, so research rate will always be limited to the huge rate. As an additional note, since it sounds like you prefer large maps, I have to point out that this is probably the cause of your memory problems. If you are trying to generate a huge map with smartmap, that size is somewhat larger in smartmap than in standard, and this is probably why you are running out of memory.

goodyhut said:
I apoligize if these suggestions have already been addressed. Thanks again for the map generator, it is awesome!

No problem, try out the override width/height controls, I think that will solve most of your issues. Adding a player placement option that prefers to maximize distance between players is a good and easy to make idea, so i'll put that in the next version.

Try generating a few smaller maps, and see if your memory problems go away. If they do, then unfortunately that leaves nothing I can do ... big maps just use a lot of memory.
 
thanks for the feedback surt! I figured that the larger maps could be the problem with the memory errors. I will try just using SmartMap with smaler maps, although I do prefer the larger ones, but I guess even though I currently have 1.5 gigs ram it still has it's limitations.

only comment i have is that I posted this before I found the six sizes mod and the six sizes mod has six additional sizes all bigger than the standard five, this is exactly what i was talking about in my suggestion. Of course, that is done using a mod, whereas this is a map script which is different so i will just run them at the same time and should be ok. Now, I just gotta get that mod to run together with other mods by somehow combining them. Whew! I wish there was a tool that combined mods for you. Maybe I will suggest that. Anyway, I am rambling now! Thanks for the map script i am sure I will enjoy using it for my regular size maps.
 
That's exactly what the override width and height controls are for. Pick the exact size of map you want using those. They have convenient indicators for the usual map sizes to help you gauge the exact size you want.

If you are trying to generate a huge map with smartmap, that size is somewhat larger in smartmap than in standard, and this is probably why you are running out of memory.

No problem, try out the override width/height controls, I think that will solve most of your issues.
I too really appreciate this mapscript - it creates beautifully interesting maps.

And I like to play on huge maps, but I too get seemingly memory related crashes. I'd like to use the overrides, but it is not clear to me which override for width and height I should use to limit the size of the SmartMap to be only as big as a vanilla huge map.

I noticed the settings in the applicable vanilla XML file for Huge maps was width of 32 and height of 20. How do these figures map to the override dropdown options? I tried 3200x2000, but that caused the game to grind to a halt just during the initial map setup phase :lol: I also noticed that the bottomost override options are something like "random 16-34" or something like that... which does not let me specify 32 or 20 (which I suspect would be too small anyway...).

Could I tweak something in the Python itself to make the SMartMap Huge the same as the vanilla huge?

THanks!!
Spocko
 
Spocko said:
I too really appreciate this mapscript - it creates beautifully interesting maps.

And I like to play on huge maps, but I too get seemingly memory related crashes. I'd like to use the overrides, but it is not clear to me which override for width and height I should use to limit the size of the SmartMap to be only as big as a vanilla huge map.

I noticed the settings in the applicable vanilla XML file for Huge maps was width of 32 and height of 20. How do these figures map to the override dropdown options? I tried 3200x2000, but that caused the game to grind to a halt just during the initial map setup phase :lol: I also noticed that the bottomost override options are something like "random 16-34" or something like that... which does not let me specify 32 or 20 (which I suspect would be too small anyway...).

Could I tweak something in the Python itself to make the SMartMap Huge the same as the vanilla huge?

THanks!!
Spocko

The override entries are marked with the corresponding sized map entry.
in override width dropdown, look for:
128 (huge)
in override height:
80 (huge)

If you select both of these numbers, you will have an exactly vanilla civIV huge sized map.

The numbers specified in XML are divide by 4, for whatever internal civIV reason (128 / 4 = 32 and 80 /4 = 20). All maps are required to be a multiple of 4 tiles in size in both directions.

A 3200 x 2000 map would require somewhat more than 50 gigabytes of memory right now, I included those larger options in the hope of encouraging firaxis to make them possible by improving the memory usage (there's no good reason such a large map shouldn't be possible with careful memory use).
 
Oh - Yep, I see now. I didn't see that I could scroll up on the override dropdowns - and there it is, 128 (huge) and 80 (huge).

This is great!

Thanks!
 
Surt

Would you be willing to let me put this in the C4:AC MOD and would you let me edit the choices in the menu so it better fits the MOD.
 
I am not having any memory problems with regulare huge maps anymore, not sure why though, only thing I am doing different is running Smart map random for a number of things that I was choosing and option on. I am using this with 18 civs and it makes the maps planty big enough for them. You make me so happy! :)
 
goodyhut said:
I am not having any memory problems with regulare huge maps anymore, not sure why though, only thing I am doing different is running Smart map random for a number of things that I was choosing and option on. I am using this with 18 civs and it makes the maps planty big enough for them. You make me so happy! :)

The most likely difference is that whatever you are choosing is giving you more ocean now than you got before. CivIV uses something like 12-16K of memory extra for every land tile, so even a small difference in the number of land tiles adds up really fast.

In the next version I'm making sure that I release all the python memory I use, and calling the python memory collector, so hopefully this will improve everyone's ability to use even larger maps.
 
I'm trying to add the SmartMap to a mod that I am working on (CivMore). I place the script in the PublicMaps folder within my mod folder. When I select a custom game, SmartMap appears as an option, but I do not get all of the extra values that are supposed to come up; I only get the standard 5. Is there something that I am missing? Is this map script not useable with a mod?
 
fitchn said:
I'm trying to add the SmartMap to a mod that I am working on (CivMore). I place the script in the PublicMaps folder within my mod folder. When I select a custom game, SmartMap appears as an option, but I do not get all of the extra values that are supposed to come up; I only get the standard 5. Is there something that I am missing? Is this map script not useable with a mod?

I use it with your mod all the time. It isn't like a Mod where you have to load it everytime you play. I just select SmartMap as the type of map I want to play. (What I was refering to as far as adding to CivMore is the SDKSixMapSizes Mod which also works with SmartMap)
Here is the forum:
http://forums.civfanatics.com/showthread.php?t=144777

This is the Mod:
http://www.civfanatics.net/uploads11/sdksixmapsizes.zip
 
fitchn said:
I'm trying to add the SmartMap to a mod that I am working on (CivMore). I place the script in the PublicMaps folder within my mod folder. When I select a custom game, SmartMap appears as an option, but I do not get all of the extra values that are supposed to come up; I only get the standard 5. Is there something that I am missing? Is this map script not useable with a mod?

It should work fine ... having smartmap show up but not show the additional options is quite wierd. I would try clearing your caches. I'll try out your mod when I get a chance and see if it works for me.
 
fitchn said:
I'm trying to add the SmartMap to a mod that I am working on (CivMore). I place the script in the PublicMaps folder within my mod folder. When I select a custom game, SmartMap appears as an option, but I do not get all of the extra values that are supposed to come up; I only get the standard 5. Is there something that I am missing? Is this map script not useable with a mod?

I had this problem when I had a python conflict in a mod I was playing with. Also, check to see if you have the Play Now! button greyed out in the main single player menu at start-up.(that was another symptom I had)
I never was able to pinpoint where I dropped the ball on that script.. so... I guess the answer, based on my experiences, it may very well be a corruption in your mod.

Cheers!
 
For some reason whenever i use smart map and under the terrain option choose "smartmap" i dont get any flood plains at all.

It says it makes flood plains more realistic in the read me for smart map with that option. But i looked on world builder and i didnt see ANY flood plains with that option.

I think this is a bug or something or maybe its negated by another option?
 
Even none of the deserts next to rivers are flood plains. Something is wrong with that option...
 
Can someone please help me with my problem?
 
Back
Top Bottom