Complete.Org: Mailing Lists: Archives: freeciv: April 2003:
[Freeciv] Re: Technology
Home

[Freeciv] Re: Technology

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: David Paigen <paigen@xxxxxxxxxxx>
Cc: freeciv@xxxxxxxxxxx
Subject: [Freeciv] Re: Technology
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Mon, 14 Apr 2003 11:39:41 +0200

On Sun, Apr 13, 2003 at 09:51:46AM -0700, David Paigen wrote:
> Christian Knoke <chrisk@xxxxxxxx> wrote:
> 
> > On Sun, Apr 13, 2003 at 04:19:32PM +0200, Thomas Strub wrote:
> > > 
> > > When Raimar presented the CMA at FUADEC is said to him that CMA is
> > > rather useless without that triggers, but he said it would be to
> > > complicate to have sizedependend rules. 
> > > 
> > > A production MA like you describe it would be a big help for playing.
> > > Hope someone will code it sometime (For a better AI we need it anyway.)
> > 
> > Triggers for everything (not only CMA) are a good thing, but I want this
> > flexible and scriptable, so the UI is the main problem, and I don't think
> > a GUI makes much sense.
> > 
> > I certainly don't want another CMA option.
> 
> How about a scripting interface?  At first I was surprised at the
> lack of freeciv robots, but then I realized what that could do to
> the human component of the game.  But an api that only allowed
> city management and could not access units, their locations, or
> see anything, might not upset the balance too much.  Against the
> computer I spend 90+% of my time doing city management.  But a lot
> of it is rote and could be automated, especially during a conquest
> campaign when I start to rack up a lot of citys that I don't care
> much about.

My idea was to do something like this (allow to program the client
from a script). But there are some problems:
 - speed: if you do the CMA in TCL it will be slow as hell. So my task
 for the last time was to provide some basic blocks which do a certain
 thing and are fully parameterized.
 - flexibility: you can't reuse the existing mechanism because there
 are not flexible enough. You can't parameterized the click on the
 center of the city (the code for this is at the server) and you also
 can't parameterized the auto-settlers. So some more flexible
 "execution objects" are needed. We have CMA and we will get some
 more.
 - interface: the scripting engine has to get access to all the
 data. And callbacks in the other direction (C->scrip language) should
 also be possible.

Last very minor point: I won't use TCL but Python ;)

> To make everything fair, I think the script would have to be run
> from the client, and its actions would need to be limited to:
>       alter the current worklist
>       alter the assigned workers
>       set tile improvement priorities for auto settlers
> 
> The script should be prevented from:
>       Buying things
>       setting tax rates       
>       moving units
>       seeing outside the city limits
>       setting tech priorities

In my plan there are no limitations. The final goal is a full fledged
client side AI based on build blocks (CMA is the first here).

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "SIGDANGER - The System is likely to crash soon"



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