Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2002:
[Freeciv-Dev] Column@Apolyton: #204 Talking with Sid and Soren
Home

[Freeciv-Dev] Column@Apolyton: #204 Talking with Sid and Soren

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Freeciv developers <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Column@Apolyton: #204 Talking with Sid and Soren
From: Reinier Post <rp@xxxxxxxxxx>
Date: Thu, 16 May 2002 13:13:43 +0200

> Date: Thu, 16 May 2002 13:15:07 +0300
> Subject: Column@Apolyton: #204 Talking with Sid and Soren 

Some stats on Freeciv for comparison.
(If you want to comment on the column itself, do so on Apolyton ...)

[...]

> ============================== ARTICLE ==============================
> =====================================================================
> 
> I've been playing Civ for a-year-and-a-half now. I work as a
> professional chess player and writer with a daily and Sunday column in
> England and as a result was lucky enough to be able to arrange to
> interview Sid Meier and Soren Johnson on Wednesday in London. 
> 
>         A complete interview should come out at some point and I'll
> flag it here when it does but for the moment here's a summary of the
> technical stuff. I'm sure that a lot of the material has appeared
> before and apologise for duplication and if it's too dry. 
> 
> Jon
> 
> 
> 
> The Code
> -----------------------------
>         The game is written is C++ and has "hundreds of thousands" of
> lines of code. There are 70 or 80 modules and some individual ones have
> 10,000 lines plus.

Freeciv:

% find ~/src/freeciv -name '*.[ch]' | wc
    616     616   30531

(i.e. 616 .c and .h files)

% find ~/src/freeciv -name '*.[ch]' | xargs cat |  wc | sort -n | tail
 213762  612095 6859974

(i.e. 213762 lines of code)

 % find ~/src/freeciv -name '*.[ch]' | xargs wc | sort -n | tail
   2791    5187   84856 /home/freeciv/src/freeciv/client/gui-xaw/citydlg.c
   2802    8646   96209 /home/freeciv/src/freeciv/server/ruleset.c
   3177   10873  109252 /home/freeciv/src/freeciv/server/unittools.c
   3329    9811   93659 /home/freeciv/src/freeciv/client/gui-mui/mapclass.c
   3657    9196  122932 /home/freeciv/src/freeciv/client/gui-gtk-2.0/citydlg.c
   3692    9233  124085 /home/freeciv/src/freeciv/client/gui-gtk/citydlg.c
   3945   14412  136605 /home/freeciv/src/freeciv/server/stdinhand.c
   4501   11027  146204 /home/freeciv/src/freeciv/common/packets.c
 102635  284107 3308877 total
 111127  327988 3551097 total

(i.e. the biggest modules are a few thousand lines)

> AI
> -----------------------------
>         Soren was in charge of the AI and it took "7 or 8 months of his
> time to write it about half writing and then half testing." He'd set
> the AI to play against itself for ten minutes, and then rewrite as
> necc. He also tried playing against it himself, of course. 

John Stonebraker wrote the AI in 2 months, but it takes 6 months
for others to understand the result :-)
 
> Levels
> -----------------------------
>         The house rule is that they test the game at Regent level.
> Anecdotally, they believe that people start at a lowish level and then
> work their way up until it becomes too difficult.
> 
>         They've deliberately made the step up in difficulty level
> steeper than in CivII (and I think it's generally agreed that they've
> succeeded).

Freeciv needs more levels, 'easy' is too hard and 'hard' is too easy.

> Map Generator
> -----------------------------
> 
>         This is based on a fractal algorithm "which has acquired a life
> of its own" Soren feels that it produces "more interesting" maps than
> in CivII (which I feel may well be true when you have an overview of
> the whole thing as they have always been able to do: but isn't at all
> necessarily true from a player's point of view).

I haven't seen CivIII but Freeciv's map generation is hard to beat.

[...]

> Last Unit
> -----------------------------
>         The widespread perception that the last unit in a city acquires
> magical powers is false. Sid said that this did happen though in CivI
> when Barbarians attacked a city since it was "so annoying" to lose a
> city to them: which is where the idea may have come from.

Looks like a point for our Civ I compatibility list :-)

>         Talking of Barbarians: The delightful attacks of 20 horsemen at
> a time in "raging hordes" were partly derived form the idea of the
> Mongols erupting.

The Mongols were also the strongest nation in Civ I.

[...]

> National Boundaries
> -----------------------------
>         There were "about 20 different versions" of this before the one
> they finally came up with.

There's a borders patch, but is it in CVS?

> Wish list
> -----------------------------
>         I hassled them about my own bugbear - why not an Attitude
> Advisor like in CivII so that you can see really clearly who is
> revolting (rather than by peering at the Domestic Advisor screen) - and
> even an "auto-devolt" function.
> 
>         Soren always plays with "Manage Citizens' Moods" on (which
> means that after one turn of revolt the city is automatically pacified
> and so partially deals with the problem).

This would be a good Freeciv feature.
 
[...]

----- End forwarded message -----

-- 
Reinier


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