View Full Version : Cities on Mesa


Deliverator
Oct 15, 2009, 02:35 PM
Since the recent terrain reworking, it has not been possible to build cities on Mesa. This was not done for gameplay reasons, but because there is something hardcoded in the game engine (I think) that means that cities look strange on Peak tiles (Mesa is Peak under the hood). The buildings appear in a circle around the city tile. I have looked in to this and there really doesn't seem to be any way to fix it. Often graphical things like this are hardcoded and impossible to change unless you are Firaxis.

See examples images attached.

In any case, I've attached a very small patch over 1.5.5 to enable cities on Mesa.

The only changes are to set bFound to 1 in Civ4TerrainInfos.xml for TERRAIN_PEAK and this change in GlobalDefinesAlt.xml:
<Define>
<DefineName>PEAK_CAN_FOUND_CITY</DefineName>
<iDefineIntVal>1</iDefineIntVal>
</Define>
(I think this flag might be redundant anyway)

I'd like to know if people can put up with the strangeness of the graphics. The only more serious consequence I've found is that the Force Shield graphic appears below ground and is pretty much invisible because of it.

davidlallen
Oct 15, 2009, 02:38 PM
I find the graphics a little bothersome, but that is only one vote. Why is it important to put cities on mesa? Can we make people less interested in this by changing the name back to peak and making the terrain heightmap steeper?

Deliverator
Oct 15, 2009, 02:43 PM
Both Koma (http://forums.civfanatics.com/showpost.php?p=8506325&postcount=454) and Ahriman have said they'd prefer cities on mesa, and I'm inclined to agree with them. When working on the terrain redesign, I wanted to have cities on mesa - disabling them was forced on me by the graphical issue.

Making the mesa heighmap steeper would be a bad way to go I think. There is already a problem selecting the right tile when you have sink right behind mesa. I've even thought about lowering the height of mesa slightly because of that issue.

davidlallen
Oct 15, 2009, 02:47 PM
Could you make them thinner at the base, so they are steeper without being taller?

Deliverator
Oct 15, 2009, 02:52 PM
I could probably do that, but it is a lot of fiddly work and I'm not convinced of the benefit.

I'd like to understand why people want to have cities on mesa. It might be possible to tackle that issue in another way, although something tells me this is one of those where you just have to give up and accept that it can't be done.

Deon
Oct 15, 2009, 03:47 PM
There's a lot of examples where you want to place a city on some specific land plot because of resources' placement, but there's always a lot of Mesa which blocks this ability, and it's a bit annoying.

Deliverator
Oct 15, 2009, 04:05 PM
I think that might be the issue - we need a lot of Mesa for the Wind Traps, but a lot of Mesa means a lot of unsettleable sites.

davidlallen
Oct 15, 2009, 04:06 PM
There's a lot of examples where you want to place a city on some specific land plot because of resources' placement, but there's always a lot of Mesa which blocks this ability, and it's a bit annoying.

Is it possible that we have too much mesa? I have seen maps where there is a huge "clump" of mesa, like 3x3 or even bigger. Perhaps one of deliverator's map options can help reduce this. I was hoping we would get a stronger shield wall type effect, but the mesas seem randomly distributed.

Deliverator
Oct 15, 2009, 04:16 PM
My mapscript changes have been very much of the hatchet job variety - particularly with Dunipelago. Thinner out the amount of Mesa may need someone with a bit more of a handle on Python and mapscripting.

I wonder whether Cephalo might revisit his idea of using PLOT_OCEAN for both the desert and for sink/graben. It is annoying that you're stuck with only 4 plot types, only 3 of which cities will appear properly on. I know cities appear OK on PLOT_OCEAN so if there was a way to have two kinds of PLOT_OCEAN...

Ahriman
Oct 15, 2009, 04:18 PM
Is it possible that we have too much mesa?

Yes, i think that Arrakis maps are giving a bit too much mesa.

koma13
Oct 15, 2009, 05:48 PM
I wonder whether Cephalo might revisit his idea of using PLOT_OCEAN for both the desert and for sink/graben.

This would be awesome. Sink and ocean feel similar, somehow reducing the elevation types from 4 to 3.
And I have to admit that I like the normal mountains (impassable) very much, especially in ridge lines. It helps creating some isolation, something I miss in current dune wars...

Slvynn
Oct 15, 2009, 06:22 PM
i quite like absense of isolation , thoug mountains will be cool, just passable for air units.
on cities on mesa - i pretty much like how it is now - also all cities in canon dune seems been build protected by mesas from winds , in lower level sinks. I dont remeber ones on mesas.

Ahriman
Oct 15, 2009, 07:26 PM
I don't think impassable mountains makes sense in the Dune context. Impassable in peaks also doesn't seem to be working properly; sometimes quad units (supposedly unable to enter mesa) can enter mesa, sometimes they can't.

The "impassable terrain" is supposed to be deep desert. Maybe fewer units should be able to enter deep desert?

koma13
Oct 15, 2009, 07:48 PM
I don't think impassable mountains makes sense in the Dune context.
I hate it when you reject ideas only because there aren't make 100% sense in Dune. What is about game play?

The "impassable terrain" is supposed to be deep desert. Maybe fewer units should be able to enter deep desert?
Hmm... then I would complain about having no action on map. :lol:

Being isolated is just a nice way to make the map feeling larger without increasing the need for performance...

Ahriman
Oct 15, 2009, 07:54 PM
What is about game play?

I see no particular gameplay advantage to making mesas impassable. In fact, just the opposite, I think it would be terrible for gameplay because it would be blocking off all kinds of areas, forcing you to constantly micromanage using transports and such.

I *hate* the "isolated" things like the FFH mapscripts that puts everyone in their own separate mountain valley.

It makes for a game with much less conflict, because there are fewer areas where the AI comes into conflict with you, and it makes the game easier because there are fewer areas where the AI can attack you (but the AI doesn't know that you can't attack it through impassable terrain, so it still defends all its borders.

The map already feels very large; it is already potentially too difficult for civs to come into conflict, because of all the desert areas. Civs are already plenty isolated.

I'm not necessarily opposed to going against theme when it helps gameplay, but I think that flavor is more important for Dune than for most mods.

davidlallen
Oct 15, 2009, 08:01 PM
Impassable in peaks also doesn't seem to be working properly; sometimes quad units (supposedly unable to enter mesa) can enter mesa, sometimes they can't.

That is interesting, but confusing. I don't think units really have randomly changing move attributes. Can you experiment with that a little and see if you can find some consistent (mis) behavior?

koma13
Oct 15, 2009, 08:04 PM
I see no particular gameplay advantage to making mesas impassable.

Thx for expaining it.
Mesa of course should be passable. I talked about peaks, we don't have anyway...

Ahriman
Oct 15, 2009, 08:07 PM
That is interesting, but confusing. I don't think units really have randomly changing move attributes. Can you experiment with that a little and see if you can find some consistent (mis) behavior?

Last time I experimented, I noticed that the quad couldn't enter peaks when outside cultural borders, but could enter peaks inside cultural borders, and could enter peaks outside cultural borders if it was shift-selected with another unit.

I haven't confirmed that though.

Deon
Oct 16, 2009, 03:35 AM
I hate it when you reject ideas only because there aren't make 100% sense in Dune. What is about game play?
But they do! Paul and fremen had to use nuclear weapons to break through a mountain range to attack emperor. I think that we should stay closer to canon and actually have mountain ridges.

koma13
Oct 16, 2009, 05:33 AM
But they do! Paul and fremen had to use nuclear weapons to break through a mountain range to attack emperor. I think that we should stay closer to canon and actually have mountain ridges.

This would be very cool, having tactical nukes you can use for blast away peak tiles to create a shortcut... :)

Slvynn
Oct 16, 2009, 06:46 AM
This would be very cool, having tactical nukes you can use for blast away peak tiles to create a shortcut... :)
Wow i like that idea :P

Ahriman
Oct 16, 2009, 08:04 AM
But they do! Paul and fremen had to use nuclear weapons to break through a mountain range to attack emperor. I think that we should stay closer to canon and actually have mountain ridges.

Nope. Paul and the Fremen had to blast through the peaks *to let the storm in*, so that the storm would take down the defensive shields. They didn't need to blast the wall to just attack by themselvse, but if they'd attacked by themselves they would have lost.

I don't have a particular problem with atomics destroying mesa.
The AI won't know how to use it, but its so late game that it doesn't matter.

But on most of the mapscripts, making mesa impassible would just totally mess up the AI's ability to expand. Its just not really feasible.

Deon
Oct 16, 2009, 08:23 AM
As far as I remember, they were riding worms, and worms couldn't bypass the Shield Wall. So it's not the storm only.

And I meant another type of impassable terrain, less common, not Mesa.

Ahriman
Oct 16, 2009, 08:40 AM
They weren't riding worms into the basin in the book. That was something added in the Lynch movie purely for visual effect. It didn't make much sense there.

I don't think we have enough land to be able to waste it on extra impassable, unworkable terrain.

koma13
Oct 16, 2009, 09:18 AM
I don't think we have enough land to be able to waste it on extra impassable, unworkable terrain.

:confused: There are thousands of tiles on a map. Not sure why some of them can't be used for impassable terrain.

Deon
Oct 16, 2009, 09:27 AM
Well, I think Ahriman's point is that most part of the map (~85%) is covered by desert, and remaining islands are not big enough to fill with something else.

Ahriman
Oct 16, 2009, 09:37 AM
Right. 80% of the map is already impassable to most units.

I wonder what would happen if we made suspensor transports and gunships unable to enter deep desert?

Would probably have several issues, particularly making the central polar region on Arrakis maps too inaccessible.

Deon
Oct 16, 2009, 09:42 AM
I've played only Fremen so far, and I didn't notice it. I've started as BG, and now I see that it's a problem :).

koma13
Oct 16, 2009, 10:44 AM
Well, I think Ahriman's point is that most part of the map (~85%) is covered by desert, and remaining islands are not big enough to fill with something else.

This could be bypassed by changing desert to ~75%.
But currently we don't have the knowledge to add another plot type, making this discussion a 'what if' talk... :)

Deon
Oct 16, 2009, 10:55 AM
But currently we don't have the knowledge to add another plot type
Really? It's all in XML.

This could be bypassed by changing desert to ~75%. Well, yeah, but it would kill "Arrakis" feel. I don't like the current abundance of leaders in Play Now already, the map is crowded in no time, and with less desert it becomes TOO crowded.

davidlallen
Oct 16, 2009, 10:59 AM
As most of you know, deliverator did a lot of changes to the heightmaps so that hills stick "down" and we call them sinks. Peaks have been made a lot lower and smoother and we call them "mesa". In the arrakis mapscript, there is a lot of mesa and it sometimes forms clumps.

I propose: (1) make less mesa and make it less clumpier; (2) change the name back to peak; (3) change the heightmap of peak so it is steeper but not taller; (4) make it impassable to vehicles and all but the lightest foot units.

We seem to be treating (1) as a constant. If we did the rest without (1), the amount of habitable area would go down significantly, and that would not work.

I have not looked into the details of the arrakis mapscript yet. But, usually when fractals are used to make heightmaps, there is a threshold altitude value: anyplace the fractal is higher than a certain value becomes a peak/mesa/whatever. So by tweaking that constant, it ""should be easy"" to make less mesa terrain. I will put that on the ever-growing list of things to look into.

If we had thin rows of mesa, much like we have thin rows of peak in vanilla, it might add a little inaccessibility which players could occasionally affect with nukes. One thing everybody remembers about Dune is using nukes to let "something" come through a mountain range.

Ahriman
Oct 16, 2009, 01:22 PM
I would oppose 2), 3) and 4) from this list. 1) is the only one I would support. And less clumpy is more important than less mesa.

Atomics are so late game that removing terrain with it would be more of an easter egg than a real gameplay feature.

I think it woudl be bad for gameplay to be separating factions by terrain barriers more than they already are.

davidlallen
Oct 16, 2009, 01:40 PM
Just to be clear, what I am proposing would be equivalent to vanilla peaks on a vanilla archipelago map. Except you could build some improvements on them, such as mines and windtraps, and some units could cross, such as workers and light foot.

Ahriman
Oct 16, 2009, 02:48 PM
This could be bypassed by changing desert to ~75%.

Actually desert is currently 76-80%. If you start reducing it below that then we just get big land blobs and little desert within cultural borders - and so very little spice income. Reducing desert reduces spice.

Just to be clear, what I am proposing would be equivalent to vanilla peaks on a vanilla archipelago map. Except you could build some improvements on them, such as mines and windtraps, and some units could cross, such as workers and light foot.

Yes, but we need more mesa tiles than vanilla archipelogo has peaks. We need enough mesa tiles (and we want them in chains of ridges to represent shieldwall type things, not just random blobs) that making them impassable would be too much of a barrier.

Windtraps are a *huge* source of water income; they are the only non-bonus thing that gives water. And the base water income from the mesa is useful too, especially with the % water income boosters.

If you made mesa/peaks impassable, then you would EITHER:
a) Not have enough peaks for windtraps, and not have the chains of peaks that mimic the shield wall OR
b) Have so many impassible tiles that they become big barriers, and the AI gets confused and transport micromangement increases because you can't move around on land even on your own islands.

I don't think there is much of a medium between those.

And all for the questionable design goal of making land tiles impassible.

Make mesa impassible to vehicles, and suspensors, sure, no problem. But not to infantry or worker/settlers (or thopters).

And besides; in Dune, the impassible terrain is the deep desert, so I don't think its thematic.

Deliverator
Oct 17, 2009, 08:17 AM
I propose: (1) make less mesa and make it less clumpier; (2) change the name back to peak; (3) change the heightmap of peak so it is steeper but not taller; (4) make it impassable to vehicles and all but the lightest foot units.

I'm with Ahriman here. (1) is the only item I really support.

Make mesa impassible to vehicles, and suspensors, sure, no problem. But not to infantry or worker/settlers (or thopters).

Agree.

I am planning to tweak Arrakis some more. The % of Peak is an easilly edited constant in Arrakis.py, it is currently set to 6%, but I think the subtle Shield Wall adds more. Making it less clumpy is harder.

davidlallen
Oct 17, 2009, 10:47 AM
I am planning to tweak Arrakis some more. The % of Peak is an easilly edited constant in Arrakis.py, it is currently set to 6%, but I think the subtle Shield Wall adds more. Making it less clumpy is harder.

I think less clumpy will come automatically because of the way fractals work. If not, I can add a section of code which locates any 2x2 clump and picks one to convert back to rock. It would be maybe 20-30 lines of code, I just need to figure out where to put it. It needs to go before bonus placement.

koma13
Oct 17, 2009, 10:53 AM
It would be maybe 20-30 lines of code, I just need to figure out where to put it. It needs to go before bonus placement.
You can try putting it in afterGeneration() inside a mapscript.

Ahriman
Oct 17, 2009, 12:25 PM
Another idea;
Vehicles like quads might be more interesting if they were even better in open ground and worse on rugged terrain.

So maybe vehicles should be unable to enter mesa tiles (if we can get that working) or have -25% mesa strength, have -20% rugged strength, and +20% rock and graben and salt pan strength?


* * *
And on another point; we will need to rethink the "hill strength" promotions if (and I haven't tested, but I assume) they are now giving bonuses in sinks. Bonuses in sinks doesn't make much sense.

davidlallen
Oct 17, 2009, 01:13 PM
And on another point; we will need to rethink the "hill strength" promotions if (and I haven't tested, but I assume) they are now giving bonuses in sinks. Bonuses in sinks doesn't make much sense.

Good point. Can you check?

Ahriman
Oct 17, 2009, 01:58 PM
Confirmed. Hills strength promotions work against units in sinks.

davidlallen
Oct 17, 2009, 02:00 PM
One solution is to delete the promotions. Can you think of any other solution or does that seem OK?

Ahriman
Oct 17, 2009, 02:03 PM
My preferred solution would be to give the guerrilla promotions bonus strength on mesa tiles; if thats not possible, just remove them.