Complete.Org: Mailing Lists: Archives: freeciv-ai: April 2003:
[freeciv-ai] Re: New settler code

[freeciv-ai] Re: New settler code

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Freeciv AI development <freeciv-ai@xxxxxxxxxxx>
Subject: [freeciv-ai] Re: New settler code
From: "Per I. Mathisen" <per@xxxxxxxxxxx>
Date: Tue, 15 Apr 2003 13:34:03 +0000 (GMT)

On Mon, 14 Apr 2003, Mike Kaufman wrote:
> > The current AI settler code is also omniscient, so nothing has changed
> > there. The idea that the new settler code should somehow manage the
> > incredible feat of not using omniscience (do you have _any_ idea how hard
> > that is?) is just silly.
> I don't. explain it to me.

A few points:
 - You need to combine the explorer and settler code; explorer code must
be rewritten to primarily work in conjunction with settlers - the primary
explorer function is then to find as much settle-able area as possible
around settler units.
 - You no longer know what you can expect from a map. So you need to make
an educated guess about what is a good placement and what isn't (meaning
you need to continue looking) by interpreting the terrain ruleset and the
map generator.
 - Whether you want to explore inland or coastal tiles depends on the
terrain ruleset settings. (As long as whales exist, we want to explore
coastal first.)
 - The AI must start exploring new continents and oceans. Current no AI
does the former and only the 'easy' AI the latter. Also ocean exploration
must be rewritten to attempt to find close islands.
 - The settler code must make an educated guess (again reading terain
ruleset) about the probable value of unknown tiles.
 - We need code to ferry explorers to newfound continents.

(And of course, since the AI must spend more production and time
exploring, and will choose less optimal city placemnts, it will become
significantly less capable.)

> I'm seeing a "hear no evil, see no evil" mentality regarding client-side
> AI. I'll say it again. I know that server AI will be with us for a long
> while, but that is no excuse whatsoever for writing new code that makes it
> harder and harder to reuse all this work for extending the AI. This is not
> about it being "nice" if it weren't omnicient, this is about a principle of
> a non-omnicient AI.

You can reuse the citymap code for non-omniscient AI. The rest is written
for omniscience and has to be totally rewritten if it is to work with
non-omniscient code. This is because the two approaches are so
fundamentally different.

> of course, I got no response about this. I am wrong? Do you think that
> client-side AI is a pointless goal?

At the moment, yes. I think a client-side, non-omniscient AI is an
interesting challenge, intellectually much more interesting than the
present approach, but in terms of making a fun and challenging AI for
players, such an AI is not time well spent.

> And let me add that I find the idea of _explorer_ code that requires
> omnicience to be a quite baffling concept.

I don't think the current explorer code requires omniscience.

  - Per

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