This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Revised exploring_worth function


Lincoln Peters <peters2000@mindspring.com> sez:

> I was looking over the code in ai.c after hearing about all of the
> recent bug fixes, and I noticed something odd in the exploring_worth
> function.  It looks like exploring_worth considers only how fast a unit
> moves, but not if it's range is limited by materials.  As a result, in
> the standard game, it thinks that the most valuable exploratory units
> are fighters (but 9 cells is not a very long range).
> 
> I've been working on a revised exploring_worth function that should make
> units with greater range more valuable than units with shorter range. 
> However, I have not yet tested it enough to be sure that it works
> correctly.  I do see that the AI still will assign a short-range unit
> (e.g. a fighter) to explore an area that it couldn't possibly get to,
> but that probably means that there's a similar bug somewhere else in
> either the AI code or the planning code.
> 
> Any comments?  I'm not (yet) completely familiar with the AI code, but
> as far as I can tell, this is an improvement.

Without actually looking at the code, I thought I'd de-lurk
and offer some thoughts on this subject.

To me, exploration, if one's immediate survival is not at stake,
is the most important consideration in the early game.  It is
imperative that you explore as much as possible as quickly as
possible.  The faster you can find nearby cities and towns, the
better off you are.  An early advantage in terms of resources
does not guarantee you a win, but it has greater impact than at
any other time.  As a corollary, you want to minimize the amount
of dead-end exploration that you do.

There are 4 units that I consider using for exploration:  fighters,
jeeps, armor, and infantry, in that order.  Actually, I don't
think there are jeeps in the standard game.  For those who don't
remember them from the "abstract" period of the old xconq, jeeps
could ferry all forms of infantry -- infantry, powered infantry,
and special forces -- across any land terrain except mountains
and ice, at a rate of 3 hexes per turn.  That, in fact, is what I
would mainly use jeeps for.  I usually build fighters in my 3rd
city/town, after one infantry and armor each.  There's too much
that can be lost if one is using a jeep to explore.  And, since
there are no jeeps in the standard game, all one is left with are
armor and infantry, both very poor substitutes.

So, at least in the early game, I would believe it better if the
AI uses fighters to explore.  Perhaps using an armor and an
infantry or two to perform deep exploration is useful.  (In the
"abstract" period, there would be spy planes to take on that
role.)

Funny enough, in version 5.3, the AIs would tend to build lots of
jeeps and send them off on deep explorations.  Every so often, I
would hack a saved game so that I could pick up the AI's side.
What I would find is that the AI would send deep probes using the
jeeps, but not fill in too much.  Quite often, unexplored areas
would contain neutral towns which I could exploit as forward
production sites.  But that's another tactical issue.

Ultimately, I think I agree and disagree with your thinking.  It
is true that fighters have limited range -- really just a radius
of 9, unless you're willing to sacrifice them.  Something with a
larger range would be nice.  On the other hand, they open up a lot
of territory very quickly, and that is also very important.  Would
it be too much to have 2 types of exploration -- short-range and
long-range?  If the same unit cannot perform both, then perhaps
the short-range unit would have higher priority until either enough
of the local area has been explored or enough resources are
available to consider long-term goals?  Can that be codified?

				Bob Carragher

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]