Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2002:
[Freeciv-Dev] Re: Working on the client side AI
Home

[Freeciv-Dev] Re: Working on the client side AI

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Per I. Mathisen" <per@xxxxxxxxxxx>
Cc: Guillermo L?pez Alejos <100030179@xxxxxxxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Working on the client side AI
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Fri, 6 Dec 2002 12:40:13 +0100

On Thu, Dec 05, 2002 at 06:16:53PM +0000, Per I. Mathisen wrote:
> On Thu, 5 Dec 2002, Guillermo López Alejos wrote:
> > I'm interested on the client side AI of the project, and I would like to
> > help on it's building.
> >
> > I need to know the code and the data structure of the game, so, ¿where
> > can I find documentation?
> 
> You should make a copy of client/gui-stub/ and make the client-side AI in
> there.
> 
> The data structures are found in common/ by and large, in files named
> appropriately.
> 
> Documentation is in doc/, see in particular doc/HACKING and README.cma.

> Raimar has working goto, settler and exploring agents (IIRC) which
> you could ask to have a look at.

This is correct. It also has a turn-done agent which presses virtuell
the turn-done button. This gives you a nice almost self-playing
player.

I used gui-gtk and didn't create a new gui-ai. These has advantages
and disadvantages.

advantages:
 - if you disable the turn-done agent you can "single-step" each turn
 and look what AI had done. This should also possible to do this via
 observer or multiple controllers but you have to control the
 turn-done behavior of the agents remotely. Lets just say that it
 should be possible somehow but till now I used the easier way of
 using gui-gtk.

disadvantages:
 - having a real gui slows you down. Some updates are needed.

> Perhaps the most important task that has to be done before a
> client-side AI is viable is to implement some kind of system for
> player attributes (as a replacement for existing AI handicaps), so
> that some players can be given omniscience. That is, unless you want
> to create non-omniscient AI players, which is very hard.

You can take the poor-mans versions of this and call show_map_to_all
in the server at the game start. Create a savegame and than you can
also use a normal server.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "From what I am reading Win98 and NT5.0 will be getting rid of all that
  crap anyway. Seems that Microsoft has invented something called TCP/IP and
  another really revolutionary concept called DNS that eliminates the
  netbios crap too. All that arping from browsers is going to go away.
  I also hear rumors that they are on the verge of breakthrough discoveries
  called NFS, and LPD too. Given enough time and money, they might
  eventually invent Unix."
    -- George Bonser in linux-kernel



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