Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2003:
[Freeciv-Dev] (PR#6214) Remove AI advisors
Home

[Freeciv-Dev] (PR#6214) Remove AI advisors

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: per@xxxxxxxxxxx
Subject: [Freeciv-Dev] (PR#6214) Remove AI advisors
From: "John Wheeler" <jdwheeler42@xxxxxxxxx>
Date: Sun, 21 Sep 2003 06:19:17 -0700
Reply-to: rt@xxxxxxxxxxxxxx

[per - Sat Sep 20 18:53:01 2003]:

> The AI advisors were never used, but added a lot of cruft that made
> the AI code harder to read. This patch removes them and some other
> unused AI hints in the nation rulesets. I left the tech, wonder and
> government hints alone.
> 
> This patch removes 754 lines (including 12 files), and adds 6.

Gee, why not remove the AI?  I'm sure that'll save a whole lot of lines! :-P

Seriously, though, if you remove AI from the server and put it as
seperate client(s), I would consider that a good thing.  (I realize that
might add an extra burden to the OS, but since freeciv already has
seperate server and client programs, that should be doable.)  I'd prefer
to play against an AI that gets treated by the server as just another
client, with no special omniscience.  (If for some reason you really
needed to still have a server AI, it could be quite simple and robotic.)

The other point of this is that I do miss that the computer opponents in
Civ2 did have different personalities.  When playing against Genghis
Khan, you knew to expect hordes of Mongol horsemen.

In addition to adding variety, it's much easier to defeat 7 copies of
the same AI than 7 different AIs.  For example, my initial research
goals are usually The Republic, Trade, Medicine, Banking, and Monotheism
-- not because they're the most useful, but because I can count on the
AI to research the others, and then get them from the Great Library or
alliances.  Also, different strategies will be differently successful
under different conditions; trying to make a monolithic AI that handles
all possible situations would be a Herculean task.  If each AI has a
seperate strategy, there is a much greater likelihood of one of them
having the optimal strategy for a given game.

Also, rather than having artificial levels of difficulty, individual AIs
could get a percentile ranking (say, from pubserver), and then you could
set maximum and/or minimum ranking for what kind of AI to play against.

Of course, I wouldn't expect the (overworked and underappreciated)
freeciv maintainers to do the diversification of AI.  Rather, I see it
as being an extension of a programmable, textual user interface (PTUI)
-- or if you prefer, a macro language with statements something like:

ON MESSAGE(City: Needs Aqueduct) THEN City: BUY

(nikodimka discussed something called Puppeteer that might suffice, but
I can't seem to find it in RT.)  This would not only handle AI but also
agents for human players.  Then, players can tweak AI/agent behavior to
their hearts' delight and a kind of AI evolution could occur (without
having to worry about breaking freeciv code).

Naturally, I don't see this as a high priority; for example, I think a
stable version with AI diplomacy (1.15?) should be finished first.  I
would however suggest seriously considering this approach before
spending much time making the server AI have an optimal strategy.

-- 

++JohnWheeler


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