Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2001:
[Freeciv-Dev] MacOS X gui-cocoa/ and AI...
Home

[Freeciv-Dev] MacOS X gui-cocoa/ and AI...

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] MacOS X gui-cocoa/ and AI...
From: Brian Olson <locke@xxxxxxx>
Date: Tue, 9 Jan 2001 22:30:13 -0700

See a screenshot of the almost playable MacOS X freeciv client.
http://www.cs.cmu.edu/afs/andrew/usr18/bolson/public/freecivX20010109.png (or 
.tiff) (200-300k)

I think it may be workable enough to let random people download and try by 
Sunday or so.

I've been basing it off reading the gui-gtk code, but of course some things 
will look different.

For one, how crucial is it to have actually separate windows for each city? As 
is mine only shows one, whichever was last called in popup_city_dialog().


As for creating client side AI, it could be argued, that the AI should have 
exactly the same information that a human might get from a GUI. As one who's 
just written most of a gui-layer for civclient, I think this could indeed 
easily be done with one proviso: Document the interface. What functions are 
called by civclient to give notification, what functions are called by the 
gui/AI layer to get information and make commands.

Currently, the civclient/gui-layer interface is strongly organized to cause GUI 
events to happen. There are many calls to popup-some-user-element. If these 
calls were reorganized into a more generic set of 
notification/information/command functions, leaving the GUI to make the 
decision to notify the user, then that set of functions could become an easy 
common base for AI/Scripting and user interface. An AI/Scripting layer could 
even be transparently interposed- it would usually pass information and 
notification back to the user, but intercept and handle some things.

Of course, that's just my opinion.
-Brian Olson http://bolson.org/




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