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

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

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Subject: [Freeciv-Dev] (PR#15249) Aggressive AI Could Fight Itself to Obsolence
From: "Benedict Adamson" <badamson@xxxxxxxxxxxxx>
Date: Sun, 22 Jan 2006 16:40:40 -0800
Reply-to: bugs@xxxxxxxxxxx

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

The AI tax-rate code, function ai_manage_taxes() in aihand.c, has the 
following code fragment:

   /* Ok, we now have the desired tax and luxury rates. Do we really want
    * science? If not, swap it with tax if it is bigger. */
   if ((ai_wants_no_science(pplayer) || ai_on_war_footing(pplayer))
       && pplayer->economic.science > pplayer->economic.tax) {
     int science = pplayer->economic.science;
     /* Swap science and tax */
     pplayer->economic.science = pplayer->economic.tax;
     pplayer->economic.tax = science;
   }

Now, consider an aggressive (that is, on a war-footing) AI Democracy 
which, because of careful previous budgeting or city improvements, does 
not NEED any taxes or luxuries. The tax rate would be computed as 0% and 
science as 100%, but then the code fragment above would swap them 
around. The next turn, the AI would have even more cash in hand, and 
thus even less reason to have a positive tax rate... but the fragment 
would still set the tax rate to 100% and science to 0%. If the AI is 
(almost) always on a war footing, it will fall behind in the technology 
race.

The selection of tax rates for an AI on a war-footing perhaps should be 
more subtle.





[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] (PR#15249) Aggressive AI Could Fight Itself to Obsolence, Benedict Adamson <=