Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2001:
[Freeciv-Dev] Preparations for other AIs and humans
Home

[Freeciv-Dev] Preparations for other AIs and humans

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv development list <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Preparations for other AIs and humans
From: Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 12 Jan 2001 13:00:43 +0100
Reply-to: rf13@xxxxxxxxxxxxxxxxxxxxxxxx

As an preparation step for including other AIs (especially client side
AIs) I would like to discuss about existing parts of code which do
some kind of automation.

There are very easy things which can be used be everyone (unit goto,
tech goal) and also more advanced things like auto-settler and
auto-explorer. There are things which can only be used by the current
AI (ferryboat, bodyguard). And there is at least one thing which can
only be accesses by clients: goto drawing (I didn't look into the
code. Is the code copied from the server?).

It would be good if any client can easily access these basic kinds of
automation. Sometimes more flexibilty would be useful. The human may
specify "auto settle and emphasize on roads/railroads and also build
them between my cities" because he knows he will attack with cannons
in 15 turns.

I would also like to see and implement further kinds of
automation. auto-build-city is an example (there must be code in the
current AI). Also some kind of basic city management which can be told
to "maximize for trade" would be nice. This can also be extended into
"manage the city so that the city grows in the same turn as the
production is finished you can use up to 30 credits to buy
production". Together with worklists would this reduce micromanagement
a big way. There exists some code about this topic in
server/cityturn.c:auto_arrange_workers.

IMHO all these things are semantically on top of the basic server
functions. So I wouldn't bury these code parts deep into the
server. This only complicate the server's core.

What do you think about this? Where would you put the code?

If the code which exists can not be used to other AIs or is not
flexible enough it would get reimplemented. Also human clients will
have an advantage (humans also transfer units over the sea).

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "Sit, disk, sit. Good boy. Now spin up. Very good. Here's a netscape
  cookie for you. Fetch me some data. Come on, you can do it. No, not that
  data. Bad disk. Bad." 
    -- Calle Dybedahl, alt.sysadmin.recovery



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