Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2006:
[Freeciv-Dev] Re: (PR#15249) Aggressive AI Could Fight Itself to Obsolen
Home

[Freeciv-Dev] Re: (PR#15249) Aggressive AI Could Fight Itself to Obsolen

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: badamson@xxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#15249) Aggressive AI Could Fight Itself to Obsolence
From: "Benedict Adamson" <badamson@xxxxxxxxxxx>
Date: Fri, 17 Mar 2006 13:58:08 -0800
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=15249 >

Per I. Mathisen wrote:
...
> Can you be more specific as to what the AI is doing wrong today, and what
> the AI is doing right with the patch?
...

There are circumstances in which the AI does not need much tax income, 
but the AI will attempt to maximise its tax income.

> Does this mean that the AI will waste science when it has researched
> everything?

No. In ai_manage_taxes(), the patch has the following:

+  if (no_science && try_celebrate) {
+    /* Science, rather than taxes, should be the minimum */
+    pplayer->economic.luxury = maxrate;
+    pplayer->economic.tax = rate2;
+    pplayer->economic.science = rate3;
+  } else if (no_science) {
+    /* Science and luxuries are not worthwhile, so no real choice here. */
+    pplayer->economic.tax = maxrate;
+    pplayer->economic.luxury = rate2;
+    pplayer->economic.science = rate3;

so in cases where the AI does not want science, it tries to minimise the 
taxation devoted to science (rate3 is the smallest possible tax rate: 
usually 0).

 From observation of the AI, when it has researched everything it 
selects Tax and Luxuries instead. If it does not need much Tax to 
balance its books, it has Luxuries instead and its cities grow through 
Rapture.

> Is there any point in smoothing out changes to the tax settings? I mean,
> settings of 100/0/0 then 0/100/0 next turn is just as good as 50/50/0 then
> 50/50/0?

Arguably not, but preventing violent changes in the AI's taxation policy 
seemed like the right thing to do.

To 'remove' the smoothing, set T_RESERVE_SMOOTH to 1 turn. However, do 
not eliminate T_RESERVE_SMOOTH.
* purchases, reserve and pplayer->economic.gold have units Gold.
* income and expenses have units Gold/turn.
* Thus, an equation including them all must involve a time-scale to be 
dimensionally correct.
* We surely want such an equation: our income should vary with all the 
others.
* T_RESERVE_SMOOTH is that time-scale.

Preventing violent changes in the AI's taxation policy would be 
important if decisions were based on the taxation policy. For example, 
if the Tax level is high, the AI arguably ought to increase 
ai->gold_priority so it is less keen on building expensive improvements 
and more keen on improvements that will increases its gold income.





[Prev in Thread] Current Thread [Next in Thread]