incremental patch discussion

I have a save game where I was running Mahdi the entire game after I got it, and as I understand it, any cities you capture when you are running Mahdi should convert religion to Mahdi and all others gone, correct?

Almost.
When Mahdi is your state religion, any city you capture should gain the Mahdi religion, but other religions are left untouched. You still have to inquisition them out if you want them gone.

Arguably we could also have any other religions removed; I am relatively indifferent, but that is not the current design intention.

If Mahdi is not being added, then that is a bug. I know I have had games where it worked fine before (in older versions), we should do some testing and see if we can replicate.
Hopefully no bug has been introduced.

I will try to do some preliminary checknig on this tonight.
 
Capturing a city should add Mahdi religion. It does not remove other religions. Do you see *any* cities converting to Mahdi when you capture?
 
If Mahdi is not being added, then that is a bug.

I can replicate this, both in the save and in a save of my own (add Mahdi to a city in world builder, add a bunch of units, exit worldbuilder, convert to mahdi state religion, declare war and invade, conquer city, Mahdi not spread in city).

Clearly a bug has somehow been introduced.
 
Capturing a city should add Mahdi religion. It does not remove other religions. Do you see *any* cities converting to Mahdi when you capture?

I do not believe that any of them converted to Mahdi or had it introduced.

I thought I already found this bug shortly after the new patch:
http://forums.civfanatics.com/showpost.php?p=8793583&postcount=877
The interesting thing is that Mahdi did spread initially by my sword, but stopped after a certain number of cities (I forgot how many).

Oh I didn't see that you already pointed it out before...but for me, it never spread initially either.
 
I am a little stuck on debugging the various save games that have been posted. ...

b. Weird problem of multiple vultures and bladesmen appearing in Ix capitol. I can reproduce it but I have no idea why. If it is due to multiple production, I do not know how to back out the actual code changes from the sdk. Keldath added this at the same time as many other things, so I do not have a version to diff against.

c. Hang in game submitted by Sable. I can reproduce this but similar to (a), the stack trace is only assembly so there are no clues.

I looked into "multiple production". There are many changes in the DW sdk related to this, most of which are *not* protected by the game option. In other words, even with the game option set to "off", play is different than it would be if the sdk changes were removed. So, I locally removed the multiple production changes. The weird production in (b) goes away and furthermore I autoplayed it 50 more turns with no hang. So, I tried that on (c) and magically, that does not hang either.

I will get rid of the sdk code for multiple production, as well as the game option, and let us see if other reports of hangs go away also.
 
I have not done much with DW in the last few weeks. I can make a 1.7.2 which has the missing espionage and corporation icons as found by keldath; the new religion XML flavors made by Ahriman; and my recent fix for the multiple production hang bug in the previous post.

I would also like to change the AI so that it values yield on buildings the same way it values yield on corporations. I will try to do that in the next few days. Also, I will look into the report of Mahdi not spreading on conquer, and add a simple routine so that it spreads among cities with that state religion with a small probability.

Are there any other people making changes out there, such as art, which may come along in the next few days?
 
and add a simple routine so that it spreads among cities with that state religion with a small probability.

Do you think this is a better solution than just increasing the passive spread parameter?
You could just change <iSpreadFactor>55</iSpreadFactor> to say 75.
 
I had assumed iSpreadFactor would be *zero*, since it is only supposed to spread by conquering. But you are right, it is 55 now. My thought was to add a percent chance per turn for each city to add Mahdi, if the owning civ has Mahdi as state religion. Say, 5% per turn, so 20 turns after making it the state religion, all the cities would have it. Since you have pointed it out then I would change spread factor to zero.

Why is the spreadfactor nonzero now? I am not sure exactly how spread factor is used to compute the chance of a spread, but the original problem to be solved is that in a large civ, the core cities never seem to get Mahdi. Only conquered cities seem to get it.

In related news, the 1.7.1 patch has a bug related to Mahdi spread. The function "onCityAcquired" is supposed to add Mahdi when a city is conquered, but that function got accidentally disabled. So in 1.7, Mahdi spreads when a city is conquered, but in 1.7.1 it does not. Clearly I will fix that in 1.7.2.

The question here is how it should spread, among core cities which are never conquered. Does a 5% per turn rate seem reasonable?
 
Why is the spreadfactor nonzero now? I am not sure exactly how spread factor is used to compute the chance of a spread, .

Spreadfactor determines the probability of the religion spreading from the holy city or shrine to a city that does not already have the religion (cities that already have a religion do . The higher the spreadfactor, the higher the probability. The religion spreads by trade-route linkages, and higher distance severely retards the possibility of spread.

The spreadfactor is used heavily in the religion design and balancing. Imperial religion has a *very* high spreadfactor; 150. Shai Hulad and Landsraad have low spread factors; they need to be spread by missionaries.
Late-game religious spread-factors (technocracy and qizarate) are basically irrelevant, because nearly every city has a religion by that stage, and so can't have a religion auto-spread to them.

For reference, the spreadfactor of a vanilla religion is 100.

but the original problem to be solved is that in a large civ, the core cities never seem to get Mahdi. Only conquered cities seem to get it

This is not what I observe. The religion spreads slowly to the core cities automatically, but it happens eventually, particularly to cities near the holy city.
This is partly deliberate design. The intention is that you have to keep your cities clear of other religions if you want Mahdi to auto-spread to them.

If they get infected with imperial or shai-hulad, then you need to use an inquisitor to clear them out, in order to then enable mahdi to auto-spread to them.

Does a 5% per turn rate seem reasonable?

No, this seems far too high to me. In 20 turns on average, your state religion automatically spreads to all your cities without you having to even spend any resources on missionaries? That would be a very rapid spread. It would also be potentially exploitative, leading to very rapid spread even if you weren't the founder; get one of your cities to have mahdi spread to it, then adopt it as state religion and have it rapidly spread through your empire like wildfire, giving you a near instant complete religious coverage.

If you want to do it with a python routine, I would make it ~1%, or even less. And consider similarly making it so that it can't auto-spread to cities that already have a religion.

* * *
Also, part of the problem was that Mahdi was getting founded pretty late, and not adopted. With the new flavor values, I suspect Mahdi will be founded earlier (by Fremen in particuar).

* * *
My other question with Mahdi is whether or not the zealot is too strong (maybe it just needs a cost increase, 30 is too cheap for a unit with no upkeep cost), and whether or not there should be a late-game fanatic unit that the zealot can upgrade to, so that mahdi is not too weak in the lategame. The unit could still be weaker than standard buildable units, but still retain the no-maintenance cost feature. Maybe a strength 9 melee unit at Desert Rites?
 
The religion spreads slowly to the core cities automatically, but it happens eventually, particularly to cities near the holy city.

This is not what others observe. I guess we need to agree on the problem, before we can agree on a solution. AnotherPacifist posted that his core cities did not have Mahdi in this post, and yiumlaien posted the same thing here. Possibly the problem is different interpretations of "slowly", where some people see "slowly" as "never".

I think the design goal is that Mahdi should never spread to a nearby city of another civ, who does not have Mahdi as the state religion. That is, it should spread externally *only* by conquest. In this case, its spreadfactor should be zero and we need some other mechanism to spread it internally. However, if you don't mind having it spread externally without conquest, then we can just increase the spreadfactor. What do you think?
 
Possibly the problem is different interpretations of "slowly", where some people see "slowly" as "never"

I think this is the case. And I think that people don't realize that the spread can't happen if you let your other cities acquire other religions.

Check out our first succession game for example; Mahdi spread passively to most of our core cities pretty rapidly.

That is, it should spread externally *only* by conquest.
I see your point. Its flavorful. BUT it has some problems; eg an Atreides faction who founds Mahdi can't get their Fremen allies to adopt Mahdi without declaring war on them. So a slight passive spread can still help gameplay.
In my current game, I chose to go Paradise and ally myself with the fremen, but I would have been unable to join the same religion as them (they founded Mahdi) if there was no passive spread.

I could go either way on this.
Either:
a) Spread-factor 0, mild python script for spreading the religion if mahdi is your state religion.
b) Increase spread factor to 70 or 75, and get feedback.

Either could work, though I have a small preference for b), so some passive spread to neighboring civs can occur.

* * *
Can I suggest for 1.7.2, returning the fresh water spice prevention mechanic back to adjacent tiles, and not 2 radius from fresh water, so that wells do not destroy too much spice?
And nerfing the Guild Research Facility down to +2 beakers per spice?
And maybe the Technocracy changes?
Those would probably be fairly easy changes, but with some good gameplay effect.
 
I think that people don't realize that the spread can't happen if you let your other cities acquire other religions.

Really? *I* didn't realize that. In vanilla, a religion will only spread to a city which has none?

In my current game, I chose to go Paradise and ally myself with the fremen, but I would have been unable to join the same religion as them (they founded Mahdi) if there was no passive spread. ... b) Increase spread factor to 70 or 75, and get feedback.

That is certainly a good point. I will try that.

Can I suggest for 1.7.2, returning the fresh water spice prevention mechanic back to adjacent tiles, and not 2 radius from fresh water, so that wells do not destroy too much spice?

As I have pointed out before the fresh water spread system is a hack, and I don't want to pile another hack on top of it. I want to implement a proper radius based system. That is more work than I plan for right now. You are welcome to keep suggesting it; eventually the repetition caused me to implement the "yield for buildings" modcomp.

And nerfing the Guild Research Facility down to +2 beakers per spice?

Easy enough, one character change in the xml.

And maybe the Technocracy changes?

You keep suggesting overlap between Ix and technocracy, and I keep not implementing that.
 
Really? *I* didn't realize that. In vanilla, a religion will only spread to a city which has none?

Auto-spread, yes. Thats how things are supposed to work in Vanilla.
 
So, to ""spread"" Mahdi to my own cities, what I need to do is send inquisitors to my cities to burn out the other religions, and then gamble that my spread factor will cause a spread faster than the other guys' spread factor. Correct?
 
Really? *I* didn't realize that. In vanilla, a religion will only spread to a city which has none?

Its not a well-advertised feature. I realized only a few months ago when starting to do the religion design for this mod.

As I have pointed out before the fresh water spread system is a hack, and I don't want to pile another hack on top of it. I

I understand that the fresh water system (for catchbasins/reservoirs) is a hack involving placing invisible fresh water resources; this is fine.

But: the spice-prevention mechanic is not a hack (I thought?).
There is code somewhere that prevents the spice resource from spawning (and removes the spice resource from):
a) any tile that has fresh water access (eg well tile and tiles adjacent to the well, or tiles in the 4 corners of a
AND
b) Any tile *adjacent* to a tile that has fresh water access.

My memory is that b) was specifically and deliberately introduced somewhere in the patching process. Perhaps I am wrong?
My request is for you to roll-back b).

So imagine a 5x5 grid, top row 1-5, second row 6-10, middle row 11-15, etc.

Suppose that there is a well on 13 (the middle tile).
Part a) will block placement in tiles 6, 7, 8, 12, 14, 17, 18, 19. Which is fine.
But part b) means that every tile adjacent to {6, 7, 8, 12, 14, 17, 18, 19} also gets blocked.

So a single well is wiping out 25 tiles from being eligible for spice.

Or consider a city at tile 13 with a catchbasin.
Under the status quo, it creates invisible fresh water resources in tiles 6, 8, 17 and 19. Which is fine. Its a good hack.
Then a) by itself will already block every tile in the 25 tile grid.
With b), the block is extended out even further.

My design intention would be:
1) A well blocks a 3x3 grid from spice access.
2) A catchbasin blocks a 5x5 grid from spice access
3) A reservoir blocks a 7x7 or 9x9 grid from spice access (depending on whether it has fresh water radius 2 or radius 3).

But I think the current impact is:
1) A well blocks a 5x5 grid from spice access.
2) A catchbasin blocks a 7x7 grid from spice access
3) A reservoir blocks a 9x9 grid from spice access (from radius 2).

I think this is too much.

Maybe I am misinterpreting things?

* * *

You keep suggesting overlap between Ix and technocracy, and I keep not implementing that.

I would not say I am suggesting an overlap, I would say I am suggesting a small synergy.

Imperial has a small synergy with Corrino.
Shai-hulad has a small synergy with Fremen.
CHOAM/Landsraad has a small synergy with Ecaz.

Why do you object to a small Ixian synergy with Technocracy?
I do not understand your opposition to this.

You didn't like the overlap we had before, where Ix was immune to the happiness penalties from automated buildings. Fine, we removed them.
But this issue is on the same order of magnitude as other things in the mod that you seem to have no problem with.

By comparison to FFH:
Ljiolsofar and Svaltar have *major* synergy with Fellowship of Leaves.
Sheaim have synergy with Ashen Veil.
Lanun have synergy with Octopus overlords.
Khazad have synergy with Runes of Kilmorph.
etc.

Its not exactly a mod-killer.

In any case, this synergy is of secondary importance; the primary importance is to make the various thinking machine robotic/computerized buildings into Technocracy religion buildings.
 
So, to ""spread"" Mahdi to my own cities, what I need to do is send inquisitors to my cities to burn out the other religions, and then gamble that my spread factor will cause a spread faster than the other guys' spread factor. Correct?

Yes. Other than Imperial, religions in this mod have low natural spread (sometimes very low) and are mostly spread by missionary, so it is highly likely that you will win this gamble.

From memory, Tleilaxu Supremacy = 0, Shai Hulad ~= CHOAM = 0.45, Mahdi = 0.55, Imperial = 1.5 (but gets displaced by any other religion, from missionary or mahdi conquest).
Not sure about Technocracy and Qizarate, but they're so late that they only really spread by missionary.
Standard spread from vanilla = 1.

The distance modifiers are also large; if you found Mahdi, then there is a radically higher probability that your cities near the holy city will get mahdi spread to them than there is the chance that they will get another religion spread to them, because your cities will be closer to the Mahdi holy city than they will be to the holy cities of other religions.

Not opening borders will prevent missionaries from coming to infect your cities.

But it is intended that Mahdi be easy to spread at war, harder to spread peacefully (relative to other religions).

If you did want a python auto-spread method, perhaps it could happen only while you are at war?
 
So, I locally removed the multiple production changes. The weird production in (b) goes away and furthermore I autoplayed it 50 more turns with no hang. So, I tried that on (c) and magically, that does not hang either.

How can I do the same on my installation? I have a hanging problem.

Absolutely astounding work btw.
 
I was hoping to also make a breakthrough on AI for spice, and then release 1.7.2. As of 1.7.1, the AI is not interested enough in building harvesters, so it is easy for the human player to get ahead. However, so far, I have failed to understand how corporations cause the AI to build improvements outside the BFC. If I can solve that in the next couple of days, I will release 1.7.2 with this improvement and also the bug fix for hanging due to multiple production. There is no easy way for you to remove multiple production, unless you build your own local sdk with the code backed out.
 
Back
Top Bottom