Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2001:
[Freeciv-Dev] Re: AI strategy
Home

[Freeciv-Dev] Re: AI strategy

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: rf13@xxxxxxxxxxxxxxxxxxxxxx
Cc: Raahul Kumar <raahul_da_man@xxxxxxxxx>, "Ross W. Wetmore" <rwetmore@xxxxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: AI strategy
From: Petr Baudis <pasky@xxxxxxxxxxx>
Date: Sun, 2 Dec 2001 16:54:12 +0100

> > > > Another issue, what about observing AI? Tuning behaviour and debugging
> > > > will be a lot harder w/o that.
> > > 
> > > This is one of the reason that these code parts will be available to the
> > > human player as advisers. You can debug them easier.
> > These code parts? Which ones you mean? CMA? That's good, nevertheless not
> > enough. I can very hardly imagine advisor which will tell you with which
> > unit attack which other unit and for which unit take which ferryboat to
> > transport to which continent in order to start offensive against which
> > player... 
> 
> One of the basics of the design of the (still non-existing) agents is that
> you set _all_ parameters of the agent. The agent by itself is dumb. You set
> the policy and the agent will go to work. So there may be a ferryboat
> management agent. You set the boats you can spare and the units which are
> allowed to use the boats. The FMA then will try to work as best as possible
> if somebody tell the FMA what the destination of the units are.
Yeah, I see. And I want to observe how decisions about those parameters are
done :-). IMHO the solution in the second paragraph will do.

> > > that tuning any AI is hard.
> > I said harder, not hard :^). We will probably need to expand the current
> > observer mode to support spying other connections ;-) (obviously crying
> > appropriatelly everywhere in order not to be abusable).
> 
> IMHO also nice would be a gamelog which can easy parsed and contains every
> important data. This has the advantage that is can be saved and diffed.
I've this in my TODO, as I don't like the current situation too. However we
need some easy-to-parse easy-to-read syntax and abide it (preferrably just
using separate function for each type of event). If noone will do it in about
week (I'll not have so much time now probably), I will try to work something
out.

I would also like to have logging of file:line freelog() was triggered in, to
see where the hell that debug log message came from easily. As freelog() is a
macro, this should be easy too.

-- 

                                Petr "Pasky" Baudis

UN*X programmer, UN*X administrator, hobbies = IPv6, IRC, FreeCiv hacking
.
  "A common mistake that people make, when trying to design
   something completely foolproof is to underestimate the
   ingenuity of complete fools."
     -- Douglas Adams in Mostly Harmless
.
Public PGP key, geekcode and stuff: http://pasky.ji.cz/~pasky/


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