Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2001:
[Freeciv-Dev] Re: Development Strategies [Was Documentation, Usability a
Home

[Freeciv-Dev] Re: Development Strategies [Was Documentation, Usability a

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv development list <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: Development Strategies [Was Documentation, Usability and Development]
From: Reinier Post <rp@xxxxxxxxxx>
Date: Tue, 4 Dec 2001 17:26:13 +0100

On Mon, Dec 03, 2001 at 05:20:43PM +0100, Raimar Falke wrote:
> On Mon, Dec 03, 2001 at 09:54:11AM -0500, Andrew Sutton wrote:
> > On Monday 03 December 2001 09:42 am, Daniel L Speyer wrote:
> > > P.S. I made up the lisp object syntax.  There's a real one out there, but
> > > I figured we're probably not using lisp, so it doesn't really matter.
> > 
> > you know what? i would have absolutely no problem what soever embedding a 
> > lisp interpretter in an AI client if it made the AI better. besides, i hate 
> > lisp, but i have a certain weakness for it since i don't understand it at 
> > all 
> > and it looks cool :)
> 
> > besides, a separate ai client means that the lisp interpretter won't
> > have to be embedded in the server.
> 
> But than you don't get lisp in rulesets.
> 
>       Raimar

There are 2 approaches (if scripting runs in the server):

 + extend the server command language to support scripting
 + expose an API to the gameserver engine to an external scripting language

For the first you'd need to have a clearly defined API anyway, but we
already discussed some of that in the syntax discussion.

For the second, the details of interfacing to a specific language vary,
but again, you'd start with a functional specification of how the game
engine is exposed to scripts, which would hopefully be language independent.

If scripts can even introduce new objects, object fields, and associated
behaviour, this would be very similar to what Andrew Sutton tries to do.

The whole thing can assume a single-threaded server.
Anything multithreaded can use the Freeciv network protocol.

The same exercise can be done for the asynchronous, network-based
interface that Freeciv offers to its clients.  This is what you need
to do for client-based AIs.  This would mostly be mostly a matter of
documenting the existing interface.

-- 
Reinier


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