[MapScript] Erebus Continent

scorch does not remove marshes in vanilla FFH unfortunately, but I find it an issue with FFH rather than with the mapscript :lol:

dammit I forgot to include the screenshot and also deleted it :lol: well I can describe the situation since it's easy, it was a hill tile surrounded by 8 peaks, and animals were spawning in there, trapped :lol:
 
Thats just wrong :p

And yes Gekko, that can still happen very rarely because I don't want to add another pass as it will slow the map generation down even more. I already make one pass after the plot types are defined which will catch it 99.9% of the time. I'll see if I can tune that up a little to lessen the chance.
 
don't lose too much sleep over it, nothing vital ;)

take a look at this embers start though, shouldn't peaks got ridden of from starting BFCs? these guys have quite a lot of that... also seeing a lair on a resource makes me sad :lol:

another thing that could use a tweak as well imho: the "starting plot selection" routine seems to dislike desert a little too much. it seems to absolutely refuse to start someone in a desert except Malakim, even if that leads to clumped civs due to a big desert being present. and, as long as you got a river, floodplains and some hills for production, desert is not THAT bad ;)

gold is often abundant there, which can mean a blazingly fast tech rate from the early game, leading to a very successful game. incense is also nice, and I just love floodplains :D

by contrast, it has no qualms with placing someone in jungle or tundra, which are much worse in my book.

the screenshot shows this "bad, bad deserts!" thingie well enough through the minimap. the Sidar used to be east of the Clan but got wiped out by Orthus... both of them started in jungles ( Sidar also marshes, not cool... ) , and as you can see me (bannor) , the elves, sidar and orcs are all very close to each other.

Doviello also have it really bad as you can see in the other screenshot, they may have room to expand but it doesn't help much when you expand sloooowly due to crappy terrain. it's pretty sad to see Doviello struggling like this in the early game, right when they should be at their peak. the clan also suffer from jungles :\

would it be possible to improve starts like that with deer and fur? should do the same for jungles with banana/sugar and dye... imho everyone should have some readily available commerce tiles in the BFC, it is vital to a successful game.
 
The starting plot code evaluates an area larger than a single city which is why deserts score so low for most civs. For your map specifically you can see the effect of a couple of things happening;

- The clan was likely placed early, perhaps as the first civ by luck of the draw. Since the clan does well with early wars they have a higher neighrbor value so they 'cut' fewer surrounding start location which allows other civs to start closer to them than normal.

- Start plots are taken from a list of potential city plots, those are valued by food, commerce and production with no regard to civ preferences. That list is then pruned down so that only the best half of the potential city locations are kept and then finally, the civs pick what they like out of that list. While a floodplain start is ok for food and if you're lucky to have gold you can do ok for commerce it's very likely that the desert is surrounded by plains (not so good for food) and peaks (not so good for much of anything). Desert hills are also the worst hills in the game and tend to be present near rivers. So typically there are only a couple of available start plots in the desert for the civs to chose from in the first place and the greater area around them will generally be rather poor.

- You have flavor mod enabled, doing so can result in civs being shuffled around to places that this script didn't intend them to start on. The clan, for example, should almost never start on a coastal tile. The again, with you and your tiny maps they don't have much choice :)

- Also, since you have flavor mod enabled I can tell you that the bonuses you see are NOT the bonuses placed by this map script. I don't like the insane clumping around start plots that flavor mod causes.

- Finally, you have flavor mod enabled and that completely skips my cleanup for peaks, jungles and forests. :)

Anyway, you'll be happy to know that I have a 'smart climate' option in the works. This will give you the choice to use exactly the climate options you select, modify the ones you select based on the civs present in the game, or set the climate options entirely based on the civs present in your game. So, in your case this code would have reduced the jungles and deserts giving the civs more room to pick a start plot.
 
The starting plot code evaluates an area larger than a single city which is why deserts score so low for most civs. For your map specifically you can see the effect of a couple of things happening;

1) The clan was likely placed early, perhaps as the first civ by luck of the draw. Since the clan does well with early wars they have a higher neighrbor value so they 'cut' fewer surrounding start location which allows other civs to start closer to them than normal.

2) Start plots are taken from a list of potential city plots, those are valued by food, commerce and production with no regard to civ preferences. That list is then pruned down so that only the best half of the potential city locations are kept and then finally, the civs pick what they like out of that list. While a floodplain start is ok for food and if you're lucky to have gold you can do ok for commerce it's very likely that the desert is surrounded by plains (not so good for food) and peaks (not so good for much of anything). Desert hills are also the worst hills in the game and tend to be present near rivers. So typically there are only a couple of available start plots in the desert for the civs to chose from in the first place and the greater area around them will generally be rather poor.

3) You have flavor mod enabled, doing so can result in civs being shuffled around to places that this script didn't intend them to start on. The clan, for example, should almost never start on a coastal tile. The again, with you and your tiny maps they don't have much choice :)

4) Also, since you have flavor mod enabled I can tell you that the bonuses you see are NOT the bonuses placed by this map script. I don't like the insane clumping around start plots that flavor mod causes.

5) Finally, you have flavor mod enabled and that completely skips my cleanup for peaks, jungles and forests. :)

6) Anyway, you'll be happy to know that I have a 'smart climate' option in the works. This will give you the choice to use exactly the climate options you select, modify the ones you select based on the civs present in the game, or set the climate options entirely based on the civs present in your game. So, in your case this code would have reduced the jungles and deserts giving the civs more room to pick a start plot.

1) good for the clan, but it doesn't seem very nice for the guys spawning next to them :lol: plus Doviello would be even more well fitted for being placed right next to another civ... but then the other poor civ would have few chances of survival :lol: I like civs to be evenly placed around, so that getting one killed very very early ( which I find takes away some of the fun from the game ) is as unlikely as possible ;)

2) satisfying explanation, thanx :D

3) actually it's small maps now. WM is way faster than FF used to be so I was able to go up. standard is still too slow though :lol: anyway, that starting plot doesn't look bad for the clan, it looks bad in general imho. aside from the Lanun of course, but there's no Lanun in this game :D but you say all those peaks are due to flavourstarts, so I can't blame you for that :lol:

4) I also hate the clumps, but I haven't seen them since after 2.0. dunno why, it might be pure chance but all spots have been reasonable lately with no clumps. only exceptions being a couple doviello starts with plenty of deer, but that was NEEDED to give em a chance, it definitely didn't feel like "OMG I'm drowning in food" :lol: I did have one ljolsafar start with plenty of food, but I had no commerce so that game failed miserably anyway :\

5) ah that sucks. I guess I will try it with flavourstarts off and see how it behaves. still, imho you should work together with Jean Elcard and integrate as much flavourmod stuff as possible, while keeping it in tone with the mapscript... the two really go well together too much to not ACTUALLY work well together :lol: I'm mostly thinking of the way FM chooses starting plots for civs, which is more fitting than the mapscript's, but other features like placing unique features in appropriate spots, and adding forts, towers and the like are also very cool and would be missed if playing with FM off :(

6) sounds awesome :D
 
[to_xp]Gekko;8912190 said:
1) good for the clan, but it doesn't seem very nice for the guys spawning next to them :lol: plus Doviello would be even more well fitted for being placed right next to another civ... but then the other poor civ would have few chances of survival :lol: I like civs to be evenly placed around, so that getting one killed very very early ( which I find takes away some of the fun from the game ) is as unlikely as possible ;)
It's actually a stronger effect for them, but unlike the clan they start in the tundra where not many other civs do. I'm thinking about moving them so they prefer to be near tundra, but not always IN the tundra.


[to_xp]Gekko;8912190 said:
5) ah that sucks. I guess I will try it with flavourstarts off and see how it behaves. still, imho you should work together with Jean Elcard and integrate as much flavourmod stuff as possible, while keeping it in tone with the mapscript... the two really go well together too much to not ACTUALLY work well together :lol: I'm mostly thinking of the way FM chooses starting plots for civs, which is more fitting than the mapscript's, but other features like placing unique features in appropriate spots, and adding forts, towers and the like are also very cool and would be missed if playing with FM off :(
How comfortable are you with changing 8 letters into 10 letters in a python file?

Find CvFlavourInterface.py in your mod of choice and open it up with notepad or any suitable text editor (but not word or anything fancy like that).

Find these two lines (very close to the top of the file, no search needed):
Code:
ASSIGN_FLAVOURFUL_STARTING_LOCATIONS = True
FLAVOURFUL_NORMALIZATION = True
Change True to False for both of them. Well, definately for the starting locations and only for normalization if you prefer my method. Leave the others alone unless you want to play around.
 
ah! found the little bastard, it was actually FM_settings.py in Wild Mana. :D I got these variables:

bFlavourStarts = True
bAddMarshTerrain = True
bReassignUniques = True
bReassignStrongholds = True
bNormalizeStarts = True

so, adding marsh terrain seems redundant since the mapscript already has it. reassigning uniques and stronghold is a keeper. normalize starts is the thing that conflicts with the mapscript so it's getting turned off. flavourstarts is just the shuffling? I guess adding resources to starts is part of normalization, does flavourstart have any negative effects on ErebusContinent?
 
Thats just wrong :p

And yes Gekko, that can still happen very rarely because I don't want to add another pass as it will slow the map generation down even more. I already make one pass after the plot types are defined which will catch it 99.9% of the time. I'll see if I can tune that up a little to lessen the chance.

I'm not sure how you are detecting unreachable areas, but you can use the AreaMap class from FaireWeather for that. It was originally made for identifying different continents and oceans, but it allows you to define a function to determine what 'water' is. You can say that 'water' is anything not a peak, and then you can read the resulting map to fill in any 'water' areas that are not connected to the main 'ocean'.

It seems very straightforward to me... but there might be some mislabled stuff that would confuse someone else. Let me know if you need any help understanding how to bend it to your will.

It's based on a very efficient, oldschool seedfill algorithm from the first Graphics Gem's book. :)
 
I'm not sure how you are detecting unreachable areas, but you can use the AreaMap class from FaireWeather for that.
I may end up doing just that :)

I've used the AreaMap class a couple of times in there so yes, it's understandable... well, maybe I'm not a good example since I've been disecting your maps for a long time.

Right now, in an attempt to keep generation times reasonable I run it as part of a 'clean up' pass that makes a number of adjustments over the map. I've combined it with a lot of little things like making sure I never have grassland adjacent to desert (change to plains) or snow (ice) adjacent to anything except tundra among others.
 
[to_xp]Gekko;8913903 said:
flavourstarts is just the shuffling? I guess adding resources to starts is part of normalization, does flavourstart have any negative effects on ErebusContinent?
Flavor starts is the shuffling and normilization overrides my handling of forests, peaks and hills. I'd have to dig around in there to see if disabling normilization and leaving flavor starts on would break anything. I'm guessing it will since it would shuffle the players around after I place them and normalize the surrounding terrain. I don't know if his normalization also affects bonuses (resources), I believe it does.

With my next release I add full support for all of the RifE civilizations which should cover all of the civs used in Wild Mana and Orbis too. Once that's in you can safely disable flavor starts and all of the civs will be placed appropriately.

The nice thing about using the flavor mod with my map script is that I place civs from a list of potential starting plots that is huge and then he just rearranges them if needed. So really, I just ensure that appropriate starts exist and he shuffles the players around so they're in the best one of those based on the rules defined for flavour mod in the specific mod(s). The net effect is that I will make sure you have a starting position in the desert/tundra/jungle if needed where any scripts using default Civ4 rules will not.
 
The nice thing about using the flavor mod with my map script is that I place civs from a list of potential starting plots that is huge and then he just rearranges them if needed. So really, I just ensure that appropriate starts exist and he shuffles the players around so they're in the best one of those based on the rules defined for flavour mod in the specific mod(s). The net effect is that I will make sure you have a starting position in the desert/tundra/jungle if needed where any scripts using default Civ4 rules will not.

that's exactly my point. Lanun for example, the mapscript will make sure that they have a coastal spot and flavourmod will definitely never ever move them away from the coast :lol: so I guess I will just turn off normalizing and adding marshes for the time being, the reshuffling would not bother me at all since imho FM's criteria is spot on. looking forward to your new version... see if you can add in the towers, forts and strongholds etc. and the reassigning of unique features from flavourmod, that should add another touch of awesomeness to the script without the need to use flavourmod itself ;)
 
[to_xp]Gekko;8914960 said:
Lanun for example, the mapscript will make sure that they have a coastal spot and flavourmod will definitely never ever move them away from the coast :lol:
So Flavour Mod has moved them away from the coast on you too huh? :)

Adding the FfH features keeps getting pushed down my to-do list. If you look in the script you'll actually see the start of it, it's just not hooked up to anything yet.

What I've found I want to do is make the map options react more intelligently to certain conditions. I mentioned the 'smart climate' already and that's a big part of it, but there's more. Of course, I'm still waiting on Valk to test the latest version I sent him so he can post the patch to RifE and I can then release the new version of my map to the masses.
 
My new 'Smart Climate' is in testing. Well, I know it works but I'm letting the RifE team play around with it to see if they can break it.

This adds a few new things, most noticeable is the new 'Smart Climate' option :)

When this is turned on you get a number of effects. There are three different settings when enabled that I'll explain below. In addition, when turned on the code will attempt to adjust the desert and plains based on the continent size. It's pretty basic, if there is a single huge continent it scales down the desert and plains and if there are a bunch of smaller continents it scales deserts and plains up. This will help keep the desert and plains more consistant with your selection choice even with some wildly variable continents.

The three typs of smart climate are:

Ensure Exists: This is the most basic, it simple ensures that you haven't turned off deserts, tundra or jungles when a civ in the current game prefers them. This works well if you like to turn desert, tundra and/or jungles off but want them to be there only if needed.

Override Selections: This is the most forcefull of the options. It evaluates the civs and sets the desert, tundra and jungle values based on the number of civs in the game that need them compared to the number of civs that don't. Any selection you made for either desert, tundra or jungle is completely ignored.

Modifiy Selections: This is similar to overriding the selections but more gentle. It reads the selections you made for desert, tundra and jungle and adjusts them up or down based on the civs in the current game. This works best when the settings are left close to default, if you select massive deserts and end up without any desert civs it won't turn them off, it will just move it down to default.

Both of the last two settings consider the total number of civs. This means the effect will be much stronger with fewer total civs. Since the next version adds support for all of the RifE civs it does a pretty good job of setting the world up.
 
My new 'Smart Climate' is in testing. Well, I know it works but I'm letting the RifE team play around with it to see if they can break it.

This adds a few new things, most noticeable is the new 'Smart Climate' option :)

When this is turned on you get a number of effects. There are three different settings when enabled that I'll explain below. In addition, when turned on the code will attempt to adjust the desert and plains based on the continent size. It's pretty basic, if there is a single huge continent it scales down the desert and plains and if there are a bunch of smaller continents it scales deserts and plains up. This will help keep the desert and plains more consistant with your selection choice even with some wildly variable continents.

The three typs of smart climate are:

Ensure Exists: This is the most basic, it simple ensures that you haven't turned off deserts, tundra or jungles when a civ in the current game prefers them. This works well if you like to turn desert, tundra and/or jungles off but want them to be there only if needed.

Override Selections: This is the most forcefull of the options. It evaluates the civs and sets the desert, tundra and jungle values based on the number of civs in the game that need them compared to the number of civs that don't. Any selection you made for either desert, tundra or jungle is completely ignored.

Modifiy Selections: This is similar to overriding the selections but more gentle. It reads the selections you made for desert, tundra and jungle and adjusts them up or down based on the civs in the current game. This works best when the settings are left close to default, if you select massive deserts and end up without any desert civs it won't turn them off, it will just move it down to default.

Both of the last two settings consider the total number of civs. This means the effect will be much stronger with fewer total civs. Since the next version adds support for all of the RifE civs it does a pretty good job of setting the world up.

And seeing as RifE has all major civs currently released, it'll work nicely with Orbis and Wild Mana. Though Orbis will add two new ones soon. ;)
 
A little teaser from the latest unreleased test version:

attachment.php


This shows the smart climate at work, several instances of the advanced terrain generation option and the new height based coastal terrain placement that makes the underwater extension of the continents visible.

This was generated with all of the climate types (desert, tundra, jungle, etc) at default and then smart climate set to modify selections. There is one tundra based civ (Dovello) and no desert or jungle based civs in the game so the smart climate adjusted the deserts and jungles down automatically.

The two large islands in the map center are actually islands, connected by coast but not land. I'm now officially distracted and playing a game... um, TEST game on it :)
 
I know I can change these preferences easily enough, and I probably will, but why does Doviello start in tundra? While a player can leave the tundra, AI Doviello invariably settles in the tundra and every game it ends up an era behind all other civilizations in the world.

Next, Illians in ice. They can at least work the ice, but it's still significantly worse than grassland. Admittedly, there is at least a small advantage to starting in ice in that they are more likely to find Letum Frigus if it's on the map. Also, Illians are a rushing civilization (at least gameplaywise) but have negative neighbor value.
 
I gave them a negative value so they wouldn't always start right next to the Doviello. I've also been tweaking those a bit in my recent test versions so you'll see some changes to the start plots when I release the next update (which is waiting for the next RifE update).

The biggest problem is that while it's really easy to look at the map and spot what would have been a better place it's very dificult to explain that to the computer. So even with the upcoming changes where I try to get the Doviello to start near the tundra but not always IN the tundra thaty can still get dropped pretty deep in the frozen land depending on the map.

What you can do for your own games is simply reduce the tundra a little. Dropping it down a notch (or even two) will typically leave plenty on the map but any start is less likely to be full tundra.
 
More good news :)

Thanks to some tips from Odalrick I've managed to optimize quite a bit of the map generation code so we may actually get a little speed increase with the next release. Those of you with slower machines will notice the biggest difference.
 
Back
Top Bottom