karadoc, have u ever thought of making autoplay on mp games? the auto play in rev dcm is built for mp tests.
just a thought.
It's certainly possible to make autoplay available in mp-games. But in the current system, when a human player uses autoplay their civ is treated as though it is an AI civ for the duration of the autoplay... This is fine for testing stuff, but it's unfair for multiplayer games, because it means the autoplay civ get all the bonuses and advantages an AI civ would get. eg. production cost discounts; 'magic AI vision'; and no demands from other AIs. There are many subtle things like this in which the AI has an advantage over a human player, and if human players were allowed to switch in and out of autoplay anytime they liked, they could leverage those advantages. It would make autoplay an important part of competitive gameplay - and I think that's a bad thing.
With a bit of work, it would be possible to remove some of the AI advantages from autoplay (such as the production discounts), but others would be much harder. I'm not sure if rev dcm has tried to deal with this problem or not.
Im actually glad you brought this up, because I think it might be an issue of the map generator giving much better land to different civs...maybe that should be looked at...civs on their own island (with no one else) always get worse land compared to ppl that share a single continent (I almost hate being on my own continent alone)...those civs that share a continent get the benefits of trade, trade techs, and spreading religion amongst themselves, and definitely better land. So maybe the civ starts should be more balanced, value wise?
I agree. Civs which start on a small island on their own typically miss out on both trade and land resources. They do have the advantage of not having to worry so much about being invaded - but often that tradeoff is not worth it. Particularly if they have no happiness resources on their island.
I've been looking into this recently to see if it can be improved. I've learnt that the number of different resources on each continent is essentially determined by the size of the continent - and that's basically the only reason why civs with neighbours tend to have better land than isolated civs. (Larger continents are more likely to have more civs on them.)
...
I think this will be a tricky problem to solve without creating some other regression, but I might make some tweaks.
Karadoc I might be imagining things but I've noticed lately that I get a lot of starts where the settler is not beside fresh water. I seem to remember starting beside fresh water almost all of the time in the past, has something changed?
That's probably true. (and I don't intend to change it). Here's why:
The game has a system which is meant to give fresh water access to starting positions. The way it works is that if the starting plot itself does not have fresh water, then the game tries to add a river which starts at that plot. If the starting plot still doesn't have fresh water (eg. if the river couldn't be placed, or if the river missed the plot), then the game adds a fresh water lake.
In the original rules, the placement of the river and the lake were extremely predictable. The river invariably started in the south-east corner of the starting plot; and the fresh water lake was always 1 step north of the starting plot (unless there was something in the way). Aside from being boringly predictable, the river placement was particularly problematic because it meant that any starting position on the south coast or on the east coast would always miss out on its river.
I've changed the rules so that the starting corner of the river is random randomly selected from all corners which could actually have a river (ie. it doesn't have the coast problem) - and I've changed the placement of the lake to randomly select any plot within the fat cross. Since the river placement is far more reliable than before, I've also added a chance for the game to simply not try to place the river (for variety). This chance is higher for coastal starts.
.. Anyway, the crux of the matter is that since the lake placement can be anywhere in the fat cross, it is less likely to be adjacent to the city and so that's why you might see fewer fresh-water starts.
I notice in CvPlayerAI::AI_civicValue on line 13310 that you infer whether the method call is for adding or removing the civic:
Code:
int iS = isCivic(eCivic)?-1 :1;// K-Mod, sign for whether we should be considering gaining a bonus, or losing a bonus
The variable is then used in a number of places to invert the value of some of the civic's effects.
However, AI_civicValue is typically called to compare the existing civic value with an alternative.
It's true that the system compares the existing civic value with an alternative, but the key idea is that the evaluation of a civic still depends on whether you are actually using that civic or not.
For example, consider a civic which adds +3

, and you have a city which is currently at +1

. If you are considering switching
to the civic, then the happiness bonus will not be very valuable to you because your city is already happy. But if you are considering switching
away from the civic then the happiness bonus is very valuable - because without it you'd have 2

.
Here's an example of how `iS` is used in the code:
Code:
iValue += (iCities * 10 * iS * AI_getHappinessWeight(iS*kCivic.getExtraHappiness(), 0)) / 100;
Notice that `iS` is used twice here. When switching away from the civic, the coefficient at the start will be negative but the happiness coefficient will also be negative and so the final value will still be positive.
I believe that the AI's current civic selections will always be undervalued as a result of this, and in a worst case this could lead to constant civic toggling.
Interestingly, this to/from difference in the evaluation existed in some parts of the original AI for civics but it was removed by the author of the 'Better AI' mod because he thought it was a bug. The result of removing it was that the AI would sometimes switch back and forth between civics. For example, they'd switch to Representation for +

, but then once they had the

they'd switch back to Universal Suffrage because they thought they didn't need the

from Representation anymore.
Ideally it would probably be more accurate to evaluate civics by evaluating the effect differences between the current civic and the new civic individually rather than evaluating each entire civic independently. That's what I would do if I was writing the AI from scratch. But it would be quite a lot of work to change it now.
Point 1: AI moving huge stack out of conquered city allowing recapture
[...]
Result was: I retook Byzantion, got some more units in there (machine guns) and next turn Russia used its 65+ rifles to take it back - fine, I lost the city immediately, however you can imagine the kill-rate of rifles v infantry and machine guns - 4:1 or 5:1, something like that.
So the Russians lost most of their 65+ rifles when, had they simply fortified in Byzantion, would have taken me ages to beat them down.
This kind of thing is pretty difficult to solve in general. In fact, your example reminds me of something someone else was posting awhile ago.. they were saying that it would be good if the AI sometimes
didn't leave all their units in the city when there was an enemy stack outside, because the enemy stack often gets a big attack bonus when attacking the city.
By the sounds of things, the AI definitely made the wrong decision in your example, but it really is quite difficult to make them understand these subtle differences in situation.
Point 3: idle workers
[...]Is it perhaps because of barb borders?
Yes. That's the reason. I guess I should try to teach that AI that if barb borders are giving them trouble, then they should make it a high priority to get rid of the barb city. Usually they AI doesn't care much about the barbs, and will only attack if they have nothing better to do. But in this case, they should care. It's a bit tricky though, because I don't want to have to make the AI check all their borders for barb cities on every turn just to decide if they should be building new military units to fight barbs...
gifting great persons? surely nobody, human or AI, would ever do that? not disputing your modifiers, just wondering when/why that would ever happen ...
I'd expect it to be extremely rare. Maybe no one would ever do this. But it was very easy to change, and I think it's better this way.
Forts: forts are immensely important imo, and yet when an enemy civ takes a fort (in enemy culture) they always destroy it. Since once cannot build forts in enemy culture, the capture of a fort in enemy territory is a huge result - should be fortified, not destroyed.
Units don't get the defensive bonus from forts in enemy territory. (It's always been that way.)
In Sevopedia, is it me or is it when you click on the "Traits" category on the very left side, it returns an empty list on the next column?
That's true. It's empty. The "Traits" category is something that the Sevopedia added. It doesn't exist in the original Civilopedia. I removed the "Traits" articles when I first started the mod because I reckon they were very poor quality. I guess I just forgot to remove the category itself.
Incidentally, I see we're told some bits of BUG have been removed. Apologies if this is a hardy perennial, but... which, please?
I don't remember exactly. In general anything that required "BULL" was not included, because I wasn't using that DLL as a staring point. (Although some BULL features have been re-added.) The option to automatically cancel chopping is one example (the main reason I haven't copied this feature is that the implementation in BULL causes OOS errors, and I don't really like the feature anyway and so I'm not really motivated to take the time to write my own version).
There are also some features which were removed because I thought they gave away too much information, or because they just weren't up to standard. Such as the Traits articles in the Sevopedia, the WHEOOHRN indicator on the scoreboard, and the BUG Espionage screen. (Actually, the standard Espionage screen isn't very good either. I was intending to write my own one, but I haven't gotten around to it.)
How do you make it so the amount of hammers show up when you hover over the whip button? I have to always check the log for overflow amount. And half the time it doesn't even display it in there either.
I'm not entirely sure what you mean; but hover text is generally done by the DLL, and so what you're talking about was probably a BULL feature.