[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]
<URL: http://bugs.freeciv.org/Ticket/Display.html?id=15249 >
Benedict Adamson wrote:
> <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.
"Swapping" is incredibly dumb here. Better would be to hand over a
fixed percantage, like 20%.
-jason
|
|