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: AI (very long)


The hard part about doing Xconq AI is that not only do you have the n
basic considerations, you then have n^2 interactions between all those,
and n^3 effects on the interactions.  Or to put it more concretely, a
truly generic AI would have to have to examine nearly every GDL
parameter in some way.

Pathfinding is a good example.  Sure you can do a maze-solver, but
terrain can be slow and/or use up fuel - how do you weigh those
consideration against each other when doing A*?  It may be faster
to be carried, but then you have to wait for the transport to arrive,
so maybe it's not faster after all, or maybe even deadly, if you're
on terrain that consumes your fuel even while you're waiting.

I think the generic AI is always going to be disappointing; it needs
to do rather deep analysis of game designs just to decide how to use
different units (should a floating city with weapons go into combat?
Maybe so, or maybe not).  Once you've got past that, then you've
got to do all the usual strategizing algorithms, but parametrized.
So the task is harder than has ever been done for any game system,
but there's no team of a dozen hackers working fulltime for a year
on it.

The more promising direction is specialized AIs for particular
game designs.  Tactical stuff is mostly factored out into unit plans,
so the specialized AI can still use that (and people interested in
tactics can make unit planning smarter and improve all AIs),
and its primary role can be to decide theaters, build mixes, and
so forth.  You can also evaluate your progress by matching
the generic AI against the specialized one; the generic AI should
always lose against an AI with built-in understanding of how a
game design really works.

Stan



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