Complete.Org: Mailing Lists: Archives: freeciv-dev: February 1999:
Re: [Freeciv-Dev] Serious Suggestions
Home

Re: [Freeciv-Dev] Serious Suggestions

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: Re: [Freeciv-Dev] Serious Suggestions
From: Greg Wooledge <wooledge@xxxxxxxxxxx>
Date: Sun, 21 Feb 1999 10:00:37 -0500

Schaefer Frank R (fschaef@xxxxxxxxxxxxxxx) wrote:

>     Enable Users to define a plan for constructions, so that you could
>     say for example:
> 
>             1) Build 3 Archers;
>             2) Build Granary;
>             3) Build City-Walls;

Civilization: Call to Power (CTP) will have something like this.  There
are other strategy games that already do.  The trick is implementing it
well.

>     Combining cities  to regions. Then  one could manage  these cities
>     MUCH EASIER by one interface like e.g. a dialog for production:
> 
>     Region: Bavaria/Germany    Pres: G. Schroeder
>     Nr. Cities: 20             AD:   1999 AD
> 
>                   Exist.       Add   Priority
>     Granary       < 3 >        2     A

If there are 20 cities in the region, 3 of which have Granaries, and
you want to add 2 more... then which of the 17 cities get them?

I don't see how this is feasible.

>     Introduce a  Button that allows  to modify the use  of land-squares
>     directly  on the big  map. Permanently  popping up  city-windows is
>     awful !

CTP will have this.

>     Tell  a couple  units to  come to  a certain  place.  Here  also a
>     button, that shows all units  (even the units in the cities) could
>     help. Then let user define  a rectangle / polygon-line that should
>     include the  units.  Simply send all units  a goto-command.

This could be awkward, because you would probably prefer to leave
defenders in your cities, rather than moving *all* units.

I really do like the idea of showing all the units and allowing the
user to select them en masse.  But you'd then need to allow the user to
deselect units from the list, or to manually add units one at a time to
construct the list.  Then you could send a single command to the whole
list (Goto, or Fortify, etc.).

>     Patrol
>     especially for sea would be interesting.

I'm not sure how easy it would be to implement this.  Unless you're
circling a small island, it's not easy to tell an unintelligent computer
to patrol for you -- you'd pretty much have to lay out the path you want.

>     Establish dialog boxes, where the user can see WHEN certain things
>     will be build like :
> 
>     2820 BC:  3 Archers   (Lille,Paris,Marseilles)
>     2800 BC:  2 Granary   (Toulouse, LeMans)
>               1 City Wall (Metz)

This is nice.  Of course, predictions of events in the distant future
could fail due to civil disorder, city growth, reassignment of workers,
etc.  But players would understand this; we're a smart lot. :-)

>         1 ++                   ***                      ++
>           |                  ***                         |
>           |               ***                            |
>           |   +      *****          +         +          +
>         0 ***********----+----------+---------+---------++
>             -2800      -2750      -2700     -2650      -2600
>                                time

>        One could perhaps use directly gnuplot
>        with some  extensions like  these external functions,  or again
>        take 'Schwammerl' and pass the results to gnuplot.

Adding the ability to create graphs with gnuplot sounds great.
The problem would be with the actual data -- the client has no history
mechanism except the messages in the main window, which wouldn't be
enough.

I'd divide this into two pieces: partial graphs generated by the
client during the game using only the knowledge available at that
time, and complete graphs generated by the server after the game
is over.

For the first part, you'd probably have to add a log file to the client.
(I don't think you'd want to store historical data in memory; that would
lead to bloating.)  But the real problem would be that not everyone is
going to have gnuplot installed, and there are many different versions
around.  (Especially if Freeciv is "officially" ported to Windows.)

Someone submitted a program to generate a "playback" similar to Civ1's
using the server's autosave game images.  A suggestion was then made to
use the server log instead, since this will be more complete and more
concise.  I don't know what's become of this idea, but it is obviously
tied to the second part above.

> Free Software / Open Source Foundation.  Should be there - think about
> the   7.5  Million   Linux  Users   actually.

I *think* CTP will have the Internet as a wonder.

> Underwater cities  - expand into the seas.  Needs
> kind of new technologies.

CTP will have this.

> Religion  - Include other Religions.

Well, the only specific religious references in Civ2/Freeciv are in
the wonders and the word "Cathedral".  "Temple", "Polytheism", etc.
are pretty generic already.

> Make it
> possible to build the Azhar University (Egypt) as something similar to
> the JS-Bach Cathedral.  People are  playing FreeCiv all over the world
> not only in 'Oberbayern'.

This could be done as part of i18n.  There are already some plans to
use GNU gettext() for language translation; as long as the effects
aren't changed, it should be simple enough to traslate "J.S. Bach's
Cathedral" to "Azhar University" (or however it would be spelled in
some language other than English) in the client.

> Also be more  realistic with the 'Myth of  FreeCiv'.

I think that was written by the original authors, long before I started
hacking on Freeciv.  It's an adaptation of a Norse myth, and I'm pretty
sure it's completely unrelated to the game....

> 7.) Web-Page:
> -------------
> 
> Make  Appointments  for  voting,  so  that  people  on  the  web  can
> democratically decide, what additions they want to have. (Choose fancy
> dates like 01-01-1999, 02-02-1999, 03-03-199. that's easier for people
> to remember). 

That implies some sort of effort will be made to implement the features
chosen by this process.  But Freeciv isn't a Democracy; it's more of a
Communism. ;-)  Seriously, those of us who add new features to the game
do so as we get the time, and as we feel the inspiration or perceive
the need.  I don't think I'd care to be told what to work on.

> Announce a Project-Road-map on the web.  So that people can see what is
> going on, and when they can help at a certain moment.

Yes.  Please.  Or at least post the project roadmap to one of the mailing
lists periodically (I've lost track of it already).


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Stephen Hodge (stephenh@xxxxxxxxxx) wrote:

> Personally I am in favour of a scripting
> language, especially since it could be extended to provide unit
> automation too (eg if enemy unit wakes a sentried unit and at war with
> that nation then attack).

That could be useful, but I don't think it will happen soon.

> In that case which language? I think we should
> consider Scheme since it's the standard GNU scripting language now.

Actually Guile is the official GNU language; it implements Scheme,
but has the ability to support other syntaxes (including a C-like one).


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Schaefer Frank R (fschaef@xxxxxxxxxxxxxxx) wrote:

> Oh, ...  I have a much better  Idea.  We will have  different modes to
> work on the map:
> 
>      * Unit movement mode
>         brings up a little menu-bar with all units present.

I'm not sure what you mean by a "menu-bar".  The problem with
a unit-centric display is that arbitrarily large stacks of units may
coexist in the same square, so we can't just show them on the map;
likewise, if you have more than about 10 units in one place, you won't
be able to fit them all on a special part of the main window, especially
with large tilesets.

However, I can see how a popup menu would be useful -- move the
mouse to a square and hold down some mouse button/key combination and
a box containing all the units on a square (even in a city) appears;
drag the mouse down to the unit you want, and that unit becomes active.

Unfortunately, this is one of the areas where I'm relatively weak as
a programmer.  (Is popup menu even the right term?  I'm thinking of what
happens in Netscape when you hold the right mouse button while the pointer
is over a link.  Something similar is already done when you click "Change"
on the city report window, and the client source code uses the variable
"city_popupmenu" here....)

>       - right mouse button:
>         menubar with builded buildings and prod-info.

Sounds like the city report window... what am I missing?

>       - right mouse button + Ctrl:
>         menubar with what can be builded (City-Plans hopefully later)

You mean a "Change" popup menu directly from the main map?  That would
be useful.

>      * Worker's Arrange mode
>        click a city to arrange it's  fields. Click field to select or
>        dis-selected.

See above; once we get to see how CTP does this, I'm sure it will be
added to Freeciv if it's not overwhelmingly difficult.

>      * Infrastructure   building  mode:
> 
>        Say to all Auto Settler's:  build a road from Washinton to Rio,
>        insted of struggling arround  with telling'em each move what to
>        do.
>        Select some squares to Irrigate/Mine/Build.

CTP is going to completely change how Settlers work -- they will only
be used to build new cities, not to build infrastructure.  Roads and
such will be built in a manner more like city improvements -- after a
few turns, you get a road (and can select where to put it).  Again,
wait a month for CTP to appear, and then another month for all of us
to play it, and then another month for us to hack Freeciv.

> For each one of  these a fat button on the top  of the screen and then
> we'll forget about these painful city-popups.

The full city window should be retained even if its functionality is
duplicated piecemeal in other ways.

-- 
Greg Wooledge                    | Distributed.NET http://www.distributed.net/
wooledge@xxxxxxxxxxx             | because a CPU is a terrible thing to waste.
http://www.kellnet.com/wooledge/ |

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