[an error occurred while processing this directive]
[an error occurred while processing this directive]
CTP MODIFICATION: SETFOODRESOURCE&SETWGF COMMENTS

The following was posted on our CTP-Creation forum by Tucson Luke Loh(a.k.a. Celestial Dawn) on June 13 1999
Original post http://ctp.apolyton.ctp2.info/forums/Forum11/HTML/000304.html

SET_FOOD_OR_PROD.FLI and SET_RESOURCE_DESIRE.FLI COMMENTS

For all non-barbarians:

1. If cities = 0-1 and total population is 1,
Maximise growth ratio (minimise turns to next pop)
Pay as much wages as needed, minimise rations, average workday
No PW
Minimum workers on production tiles
Maximum workers on food tiles
Opening game strategy (this means explore more, and don't build roads yet - this is the same for all entries in this FLI so I won't repeat it)

2. If cities = 0-1 and total population is 2,
High growth ratio
Pay as much wages as needed, minimise rations, average workday
No PW
High workers on production tiles //makes sense, in order to get that Settler out ASAP
high_production (this is the default behaviour for all cases - see outputs.fli and set_resource_desire.fli. So I will not repeat it if it appears again).

3. If cities = 2,
Even growth ratio (meaning growing at least twice as fast as slowest city in empire)
Pay as much wages as needed, minimise rations, average workday
No PW

4. If cities = 3-5, and I am Warrior
Even growth ratio
Pay higher wages (not maximum), minimise rations, average workday
No PW

5. If cities = 5-9, and I am Warrior
Even growth ratio
Pay higher wages (not maximum), minimise rations, average workday
30% PW

6. If cities = 3-5, and I am Scientist,
Even growth ratio
Pay higher wages (not maximum), minimise rations, average workday
30% PW

7. If cities = 5-9, and I am Scientist //same as 3-5
Even growth ratio
Pay higher wages (not maximum), minimise rations, average workday
30% PW

8. If cities = 3-5, and I am Slaver or Cleric //same as Scientist
Even growth ratio
Pay higher wages (not maximum), minimise rations, average workday
30% PW

9. If cities = 5-9, and I am Slaver or Cleric //again no change
Even growth ratio
Pay higher wages (not maximum), minimise rations, average workday
30% PW

10. If cities = 10+, and I am any personality (except Barbarian):
Even growth ratio
Pay higher wages (not maximum), minimise rations, average workday //strange that even with this growth focus I have larger cities than the AI, even when I am behind on powergraph? Will have to look into AIP files I guess to see whether it builds the growth improvements
No PW // This is the default. However, it will set its PW depending on whether it is at war, or whether it has too much PW, according to the rules specified in set_pw.fli
Minimum - Medium workers on production tiles (range)
Medium workers on gold tiles

11. If I am a Barbarian
Maximise growth ratio
Pay as much wages as needed, eat as much as I want, average workday //default values in outputs.fli
No PW
Maximum workers on production tiles
Minimum workers on food tiles

The Barbarian stuff is pretty funny :) Anyway, I'm wondering if 30% PW is too much. I certainly don't set it to 30% unless I've run out of stuff to build and am not fighting any wars. If I reduce it to 20%, that would free up additional production for the AI to beat people up wouldn't it? Or does the AI rely on the extra 10% as a crutch? I don't think so - I believe it should use that extra 10% to focus on growth improvements and other buildings. It's better spent that way, I believe. To change. - DONE TLL 13/6/99

Now there's a funny thing here - set_resource_desire.fli is essentially identical to set_science_speed.fli, barring unitfocus and wormholeprobe parameters. My guess here is, like def_personality_science_fast.fli and def_personality_science_slow.fli, they decided not to distinguish between science speeds but rather got the AI to focus on science at the same rate, and then differentiate them by the technology they chose to research in the AIPs.

The AI also doesn't differentiate between whether it should build more scientists or less - it defaults to a small number of scientists. I was thinking of setting the number of scientists higher depending on whether or not it was behind in science, but the problem here is that these changes are global, and it would mean that the AI would then place scientists even in its front-line cities. It doesn't seem capable, at this present time, to be able to change priorities city by city, which is the forte of the human player. Perhaps this ability is programmed into the AI dll itself, but there is presently no way in editing the FLI files to get the AI to focus on micro changes. Pity, it would be nice if we could.

END OF COMMENTS

SET_WGF.FLI COMMENTS

This file basically specifies the parameters under which the AI will prioritise its workday, wages and rations.

The programmer's comment is pretty self-explanatory.

// For example, growth_prod_gold_set_wgf means that you want the AI
// to set wgf to grow as much as possible, second to make as much prod as
// possible, and lastly, to save as much gold as possible.

Further down however, I see what might be a serious problem, if I understand things right.

// up to turn 100; feed 5
if( a0to100_turns )
{
lowest_food_max //means maximum range of rations is 5
lowest_food_min //means minimum range of rations is 5
}

As you know, default rations is 10. Monarchy default rations is 10, Theocracy is 12.5. Both these governments are available in the first 100 turns. Now its great to have rations set as low as possible, in order to increase growth, but how are you going to make up for unhappiness? Martial Law? More happiness improvements? No wonder the AI stresses on early military units so much. Wouldn't a better (and more human) approach be to lower rations slightly, and build more growth improvements rather than investing it in martial law units?

The problem isn't just confined to the first 100 turns:

// between 100 and 200; feed 7.5
if( a100to200_turns )
{
low_food_max
low_food_min
}

// after 200; feed 10
if( a200to300_turns
and not yes_money_crisis)
{
average_food_max
average_food_min
}

// after 300; feed 12.5
if( not (a0to100_turns or a100to200_turns or a200to300_turns)
and not yes_money_crisis)
{
high_food_max
average_food_min
}

I think the AI needs to be given more leeway in setting its rations - I realise that the programmers intended that the AI pursue a low ration - high growth strategy. But it doesn't seem to be working, because in all my games I am the one who has the top 3 cities in population. In addition, the gap between my 3rd city size and the AI's is 3-4 population points e.g. 11 v 8. It is only later in the game that the AI starts to catch up and even so I continue to have top billing.

Perhaps it may be possible to relax these constraints a bit, get the AI to maybe build less units (which they seem to enjoy throwing in suicide pacts against your city walls) and build more improvements instead.

An idea might be to allow the AI to start pursuing higher ration strategies once it has more than 10 cities, perhaps a switch to production and more growth improvements. Certainly something that should be looked into.

TLL 13/6/99 - I tried changing those settings. It made absolutely no difference. In fact, even at the default settings, the AI was INCREASING rations and reducing wages. I'm just going to leave this section alone since it doesn't seem to affect anything. In fact, it doesn't even seem to follow its own rules - growth_prod_gold_set_wgf in the game seems to work more like gold_prod_growth_set_wgf - the exact reverse. Would it make a difference if the parameters were reversed I wonder.

Rest of file has parameters detailing when to switch rations depending on whether there is a money crisis (wages + maintenance = 0.8 of budget) - those ration switches there seem pretty logical. It is the turn-based range of rations that needs looking into.

END OF COMMENTS

Back to main Modification page

[an error occurred while processing this directive]