Arrakis.py map script discussion

With moving the +1 water bonus from Hills to Peaks, there is the issue that Peaks (Mesa) really needs to be much more common. Before these alterations you could usually guarantee to have several hills nearby to improve with Windtraps - we need to make the new Mesa terrain equally prevalent. On Archipelago with the terrain patch, growth is several curtailed by the combination of scarce Mesa tiles and the changes that have been made to reduce yields of Windtraps/Wells.

Edit: Decided to amend Archipelago.py myself. Find attached. I've made the following post-processing changes:

+ Lakes now filled with Sink/Salt instead of Rock
+ Graben terrain replaced with Sink/Graben
+ Replaced other non-Graben or Salt Sink terrain with Mesa for increased prevalence
+ Dunes terrain replaced with Rugged

Looks better now...

One issue I can see is that starting positions tend to be right next to the salt pans which is a bit crap. Still, if cephalo is going to produce the best-yet Arrakis.py then Archipelago may become a thing of the past.

One request for Arrakis.py is that you make More Islands / Less Islands a selected option.
 
Mesa should be as common as hills and peaks combined are in the current public version.

This looks very interesting though.
 
Mesa should be as common as hills and peaks combined are in the current public version.

That's basically what I've done in the amended Archipelago.
 
I merged your changes into my local area and tried it out. I do not think there is enough visual contrast to see the important features. The colors are too similar. I built a test grid in WB to see if I could get used to it, but I think it is currently too hard to figure out.

See attached screenshot. Horizontally, you can see a sink 1 high x 4 wide at the left, and a mesa 1 high x 4 wide at the right. Then vertically, I have added stripes of the terrain types: rock, salt, graben, badlands, rugged on the sink, and then salt, graben, badlands, rugged, rock on the mesa.

Here is the design, reverse engineered from the xml and mapscript.

* rock, badlands and rugged all have 1H yield
* graben has 1H, 1C yield
* salt has 0 yield
* sink adds 1H yield, mesa adds 1W yield
* salt and graben only appear in sink

Here is some feedback.

a. Rock, rugged, badlands have identical effects. Really there are only four different terrains: salt (no yield), graben (2H 1C), rock (1H), mesa (1W 1H).

b. Adding back desalination requires an SDK change, for a build order which converts one *terrain* into another. I am sure it is possible, but it is work.

c. Mesa adds +55% defense bonus, sink adds +25% defense bonus, we may want to rethink both of these. This is trivial to change once we agree on the values.

d. It is necessary to study the map very carefully, or use mouseover, to distinguish the terrains. You need to find the shadows on the slopes, and then figure out if it's an upslope or a downslope.

e. On the darker terrains (badlands/rugged), the mesa shadow is not distinct, so it is hard to see.

f. The color of "coastal slope" and "deep desert" are almost identical. If you have one strip of coast between two land masses, it is hard to tell this from deep desert, but the game effect is very different. (This is not new, but it is still a terrain color related problem.)

g. The color of graben and rock is also very similar. As with the others, If I miss the subtle shadow of a slope, I will not notice the difference between relatively useless rock, and highly useful graben.

For me, (d) is a big problem. If you could use a much wider palette, especially between mesa and flat, and between coast and ocean, that would really help.
 
Rock, rugged, badlands have identical effects. Really there are only four different terrains: salt (no yield), graben (2H 1C), rock (1H), mesa (1W 1H).

Yes, I pointed this out. Rock, rugged and badlands have been essentially the same for a while. More variety in the terrain would be nice, but I haven't got any great ideas right now. At one end of the spectrum you have polar desert waste (2/1/2) which is ridiculously good, and then you have a lot of quite same poor yielding terrains. But then this *is* a desert planet. What other terrains can we come up with?

c. Mesa adds +55% defense bonus, sink adds +25% defense bonus, we may want to rethink both of these. This is trivial to change once we agree on the values.

Agreed. Perhaps rugged could provide a defensive bonus?

d. It is necessary to study the map very carefully, or use mouseover, to distinguish the terrains. You need to find the shadows on the slopes, and then figure out if it's an upslope or a downslope...

Agreed. I got too into the realism thing.

I can quite easily do the following.
1) Tweak the detail layers to make the shadows more obvious.
2) Darken the coast to make it more distinct.
3) Make a texture that makes Mesa more obvious.
 
a. Rock, rugged, badlands have identical effects

This was true in the old design. Rugged/badlands were always basically the same, they were only there to add some slight variation. The difference we added between rock and rugged/badlands was a higher improvement build time on the latter, which I think is a nice change.
Without any water yields on base terrain, there are limits to how much we can really do with yields.

b. Adding back desalination requires an SDK change, for a build order which converts one *terrain* into another. I am sure it is possible, but it is work.

I would like to see this; it could involve a mid game tech like desert industry.

c. Mesa adds +55% defense bonus, sink adds +25% defense bonus, we may want to rethink both of these. This is trivial to change once we agree on the values.
Sink logically shouldn't really add any terrain bonus. How about 25% for mesa (high ground bonus).
We could add a 25% defense bonus to rugged (harder to attack across rugged ground) and make it even harder to build improvements on:
Rock = 1 hammer, normal imrpovement build, no defense
Badlands = 1 hammer, +25% imrpovement build cost
Rugged = 1 hammer, 25% defense strength, +40% improvement build cost.

The problem though with using improvement construction time though is that I think the AI doesn't evaluate it when building improvements.
So when faced with an improvement that builds in 2 turns and gives a +4 bonus, and an improvement that builds in 30 turns and gives a +5 bonus, I think they will build the latter.
This is based on my experience with Fall Further, a FFH2 modmod, where they removed the tech requirements for improvements, quadrupled the improvement build time, and then had the improvements build 75% faster with the appropriate tech; this led to the AI in the early game wasting its workers by building lumber mills that took forever to finish, rather than building farms or cottages.

d. It is necessary to study the map very carefully, or use mouseover, to distinguish the terrains. You need to find the shadows on the slopes, and then figure out if it's an upslope or a downslope.

Would increasing the terrain height variation help this? Ie the h1-x, h1+y?

If you could use a much wider palette, especially between mesa and flat, and between coast and ocean, that would really help.

From the screenshot (haven't had time to test ingame yet) this would help.
 
If all we need is four terrains, maybe we should just have 4. Rock is a perfectly good name for a terrain.

By using hills as a depression, we are in effect losing an altitude level. I can live with that, but It might be better if I go back and try to decouple land/water from plot type. Then we can have sinks and hills.
 
Yes, I pointed this out. Rock, rugged and badlands have been essentially the same for a while. More variety in the terrain would be nice, but I haven't got any great ideas right now. At one end of the spectrum you have polar desert waste (2/1/2) which is ridiculously good, and then you have a lot of quite same poor yielding terrains. But then this *is* a desert planet. What other terrains can we come up with?

Can we try a terrain that goes into negative water?

Here's a brainstorm. Shale: 3H/-1F

The idea is that you squeeze useful juice from the rocks and wash it out with water or... something. Ah, maybe that's really dumb.
 
If all we need is four terrains, maybe we should just have 4. Rock is a perfectly good name for a terrain.

There is value IMO in having different terrains that are still functionally similar, for visual effect alone.
 
Rock = 1 hammer, normal improvement build, no defense
Badlands = 1 hammer, +25% improvement build cost
Rugged = 1 hammer, 25% defense strength, +40% improvement build cost.

If we can make the textures obviously different, that sounds good. If we can only make two obviously different ones, then I would suggest rugged at 1h, +25 defense, +25 build cost.

Would increasing the terrain height variation help this? Ie the h1-x, h1+y?

I don't think so; this still makes the user play "hunt the shadows". I think the goal is to make the color/texture more distinct between the pairs of graben and rock, rock and rock mesa, coast slope and deep desert, badlands and rugged.

cephalo said:
By using hills as a depression, we are in effect losing an altitude level. I can live with that, but It might be better if I go back and try to decouple land/water from plot type. Then we can have sinks and hills.

Oh, I missed this point before. In the current version sink and deep desert appear to have the same altitude, both are lower than standard land but they are the "same lower". It is important to make the textures distinct; but it would also help to make sink a little higher, and desert a little lower. Then a progression from sink, to rock, to desert would be more like medium to high to low, rather than low to high to low.
 
There is value IMO in having different terrains that are still functionally similar, for visual effect alone.

I agree visual variety is important. That is why features like forest have several varieties. They both work the same, and they have the same name, but they look different. This is possible for features, but I am not sure it is possible to have terrain varieties the same way. If we can make two terrains visually different but we cannot think of different in-game effects, I would vote to give them the same name to reduce confusion.
 
If we can make two terrains visually different but we cannot think of different in-game effects, I would vote to give them the same name to reduce confusion.

I'm not sure; which is more confusing, two terrains that look different but have the same name, or two terrains with different names that have similar in-game effects.

*edit*
I should add, I don't feel strongly either way.
 
If we can make two terrains visually different but we cannot think of different in-game effects, I would vote to give them the same name to reduce confusion.

Yeah that works. That way anything dark brown to black is just rock and you don't worry about it.
 
Don't worry I'm smoothing out the detail textures to make the shadows more defined. See work in progress shot - I'll give Mesa a distinctive texture too.

The one terrain that is a struggle to fit in the spectrum is Badlands. I think the only way I can keep it distinctive is make it really dark again. Could we lose that one?
 
It seems like everyone is fine with merging badlands and rugged.
So, rugged is just rock but with +25% defense bonus and +25% improvement build time.
 
b. Adding back desalination requires an SDK change, for a build order which converts one *terrain* into another. I am sure it is possible, but it is work.

Another thought:
A simple way to make saltpan transformation work is to:
a) prevent any normal improvements being built on saltpan
b) have a simple "desalination" improvement that is buildable only on the saltpan that grants 1h1c, and then have a python script that changes the terrain type under that improvement to graben (which has base yields 1h1c) and instantly removes the improvement.

And then have the improvement require whatever tech we like.

This would preclude having to do any SDK changes.

This way the AI will have incentives for clearing the salt by building that improvement; otherwise its hard to see that AI undertaking saltpan clearance, since it won't see any benefit from doing so.
 
Groundwater probably shouldn't be able to appear on mesa tiles; those should be for windtraps.

Terrain movement costs probably also need to be adjusted; how about 1 for graben and saltpan and rock, and 2 for mesa or rugged?

Improvement accessibility will also need to be determined;
how about:
polar, rugged/graben/rock = turbine, solar plant, cottage
mesa = mine, windtrap
 
I'm not sure; which is more confusing, two terrains that look different but have the same name

For example, there are two graphically different variants of trees in vanilla (pine and leafy), which does not seem to confuse anybody. The fact that we may have to use two different terrains internally to the xml is not visible to the user, so it would be the same as tree varieties.

otherwise its hard to see that AI undertaking saltpan clearance, since it won't see any benefit from doing so.

I guess we need to think that out a little more. If there is sdk/python that changes the terrain type, and the benefit is not visible from the xml, then the AI will never see it. For chop, the xml build order gives the additional time and hammer bonus, so the AI can see it. We'd need to use a similar model.

Do we agree that we should think of a salt pan as graben (relatively high yield) with jungle on it, to be chopped? If we agree then we just need to find an implementation that the AI can deal with. I originally had a chop bonus for removing salt and I got rid of it (in the 1.3.x timeframe); should we put that back?

Groundwater probably shouldn't be able to appear on mesa tiles; those should be for windtraps.

Probably there are bugs in the "can appear on hills" field in the bonus info file.

davidlallen said:
If you could use a much wider palette, especially between mesa and flat, and between coast and ocean, that would really help.

I thought of a possible solution. The American Southwest has lots of desert rock formations. Search "Sedona" "red rock" and you will get a lot of good concept art. (Sedona is a town famous for its scenery). This is graphically very different from what we have now; the only possible problem is that the red-orange color is kind of similar to our spice color. Maybe we can make the rocks more red, and the spice more brown (darker cinnamon).

Think of that "sense of wonder" you got from the first time you saw Blue Marble terrain, or FFH hell terrain, or planetfall with all the fungus. That kind of "grab" on the initial map art is a big draw. I am told that Fury Road gives that also, when you see the burnt-out trees and the highways which lead to ruined cities.
 
For example, there are two graphically different variants of trees in vanilla (pine and leafy), which does not seem to confuse anybody

Yes, but its obvious to players that these are the same because they know from their own experience what a tree looks like, and why it should vary with latitude. Whereas they don't really know that they should recognize multiple variations of "rock" or "graben".
And there are no terrain types in vanilla that look different but are the same terrain, only the forest feature.
I don't feel strongly about this though.

If there is sdk/python that changes the terrain type, and the benefit is not visible from the xml, then the AI will never see it. For chop, the xml build order gives the additional time and hammer bonus, so the AI can see it. We'd need to use a similar model.

Do we agree that we should think of a salt pan as graben (relatively high yield) with jungle on it, to be chopped? If we agree then we just need to find an implementation that the AI can deal with. I originally had a chop bonus for removing salt and I got rid of it (in the 1.3.x timeframe); should we put that back?

Do you mean a chop bonus as in free hammers in a nearby city for clearing the salt, like clearing a forest in vanilla? That seems wrong.
But if you can make it understand that clearing the salt gives a +2 hammer +1 commerce bonus, then that's great. My fudge method would do this; just have the disappearing improvement have a +2 hammer/+1 commerce yield.

Probably there are bugs in the "can appear on hills" field in the bonus info file.
There are lots of bugs in terms of which improvements can be built where and such; I think this downloaded version was really intended as a graphical proof of concept.

Lots of the improvements will need height adjustments too, they are often hidden.

Another thought:
can we increase some of the clustering in the mapscript? So we're likely to get larger areas of graben, saltpan, and sink? We want a visual effect of basins, so maybe we should limit the size of depressions to ~3 tiles each. The lone pockmarks of single tile "lake" sinks don't look very good.
Smoothing the edges of the archipelgo mapscript should also help this, so we don't get little 1-tile wide peninsulas, which don't look so good.

Think of that "sense of wonder" you got from the first time you saw Blue Marble terrain, or FFH hell terrain, or planetfall with all the fungus. That kind of "grab" on the initial map art is a big draw. I am told that Fury Road gives that also, when you see the burnt-out trees and the highways which lead to ruined cities.

I agree that this is what we should be aiming at.
 
OK, here's another pass at the textures. I've only included CIV4ArtDefines_Terrain.xml and the blend and detail folders to overwrite the existing ones. There's quite a few redundant textures (not referenced by the XML) that can be safely deleted. I would sort it out but I need to get to bed.

You can play with these settings in CIV4TerrainSettingsInfos.xml if you want to alter the depth of the sinks or the height of the mesa:
<fPeakScale>0.33</fPeakScale>
<fHillScale>-0.27</fHillScale>

Personally I like the sink close to the level of the Ocean floor otherwise it isn't obvious enough IMO.

The idea is that Graben will only ever appear at Sink level and Rock and Rugged with only ever appear at Flatland level. Bear this in mind when testing.

Someone else can do the removal of Badlands.

Download Link
 
Back
Top Bottom