Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2004:
[Freeciv-Dev] Re: (PR#11144) 7 science points expected but only 6 receiv
Home

[Freeciv-Dev] Re: (PR#11144) 7 science points expected but only 6 receiv

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Subject: [Freeciv-Dev] Re: (PR#11144) 7 science points expected but only 6 received
From: "(Eddie Anderson)" <saywhat@xxxxxxxxxxxx>
Date: Fri, 26 Nov 2004 23:18:37 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=11144 >

"Vasco Alexandre da Silva Costa" <vasc@xxxxxxxxxxxxxx> wrote:
>
><URL: http://rt.freeciv.org/Ticket/Display.html?id=11144 >
>
>On Fri, 26 Nov 2004, Jason Short wrote:
>
>> <URL: http://rt.freeciv.org/Ticket/Display.html?id=11144 >
>
>> 1.  If nobody bothers to manage workers by hand then why do we have
>> worker placement?  The CMA is just a workaround to the problem that the
>> game is more fun without such micro-management.  The only answer is that
>> the whole method of worker placement is flawed.  A system like MoM/MoO2
>
>I couldn't agree more.
>
>> uses is likely to give better results, and I believe is possible to
>> implement without doing anything too ugly or breaking our existing rules.
>
>Nice!
>
>> 2.  The rearrangement comes as a result of a player move, but because AI
>> players are handled as part of the player end-turn, there is no
>> opportunity for the client-side CMA to take effect.  If it were a human
>> player moving the settlers, the rearrangement wouldn't be a problem
>> because the CMA settings would still take effect again before the end of
>> the turn.
>
>Indeed. We must still fix this, for a single reason. We want to have
>Civilization I & II (TM) compatible game modes for nostalgia's sake and
>at least the AI needs to know how to rearrange workers for those
>cases. However, I don't think we should care for it being hard for
>players to arrange workers in such cases. I consider it a "feature" that
>makes the game a more reliable facsimile of the original.
>
>> 3.  It is ridiculous for the server to arrange workers only for the
>> client to change them back.  Yet as we've seen it is impossible for the
>> client to arrange the workers in this situation.  The only solution here
>> is that the client must not do arrangement itself, but should send the
>> parameters for arrangement to the server.
>
>Yes.

    Thanks for looking into this problem.  I haven't been on the web
in days, but I do check my email almost every day.

    If I may, I'd like to offer my perspective on some of the issues
raised in this discussion.  About 2/3 of the way down I propose an
alternate solution to the problem.  But first some background:

    Planning is the heart of many resource management games
(including 4Xs).  However, for planning to be worthwhile, it helps
if there is a clear cause and effect relationship between the things
you can change and the results that you get.  IOW, for planning to
be worthwhile, there has to be some predictability in the system.

    Arranging workers on tiles within a city (so as to get a
particular combination of resources on a given turn) is part of what
makes the civ-style games interesting.  However, when a given
arrangement fails to produce results which seem reasonable, then the
system's predictability has failed.

    When predictability fails, planning seems pointless.  When
planning seems pointless, interest in playing a game which features
planning diminishes - we might as well go play bingo.  So how do we
fix that?  First the problem - workers being rearranged without the
human player's input.

    The problem in Civ2 with arranging workers (which also applied
to some earlier versions of FreeCiv) was that planning was sometimes
fruitless.  If an enemy unit passed through (or near?) your city
during its turn, then your workers would be rearranged (perhaps
disrupting the plan that you tried to implement).

    This uncontrollable effect causes you to have to think about
contingencies (e.g. what if this worker gets moved to this tile? or
that tile?).  For one or two cities that type of contingency
planning may be manageable (at least in the short term).

    But for more than 1 or 2 cities or for turn after turn after
turn, that level of unpredictability quickly builds up to an
uncomfortable level.  Before long, the game system starts to feel
like chaos.  BTW this is one of the many reasons that I stopped
playing Civ2 a few years ago.

    Once CMA was implemented, Freeciv was better than Civ2 in this
respect.  With CMA, you could set it to find the amount of each
resource that you wanted.  Then, as long as appropriate tiles were
still available (after the enemy units moved), the AI's
rearrangement of your workers would not disrupt your resource plan
for that city on that turn.

    Note that (IMO) setting CMA parameters is not nearly as
interesting as arranging workers.  Setting CMA parms is more like
working with a spreadsheet.  But the control that CMA provided was a
necessary sacrifice of fun to serve the greater fun of building your
civilization through your own planning.

    IMO, the old Civ2 system (where workers get rearranged without
your input) is best left in the dustbin.  However, for Freeciv, I
think there is another way besides relying on CMA.


(My proposal here)

    What if the arrangement of your workers remained the way you
set it up until your next turn?  I.e. you would get to work the
tiles that your workers were assigned to during your last turn
regardless of what happens on the other players' turns.

    That means that you would get the exact resource output that you
had planned for on your previous turn.  It wouldn't matter whether
or not enemy units had moved onto some of the "in use" tiles during
the enemy's turn.  Only after this past turn's resources were
credited to your "accounts" would your workers be displaced by enemy
units.  (FWIW pollution effects already work this way, IIRC.)

    At that point, your workers could either be temporarily
reassigned by AI or else turned into specialists.  Either way, the
human player should be notified (via a msg) that a worker has been
displaced in that city (and that he probably needs to be assigned to
a new tile).  Then you could open that city's dialog and move that
worker to any currently unoccupied tile.

    As I envision it, this method has two big advantages:

1) It restores predictability to resource production without forcing
   you to use CMA's "plug in a number, hit re-calc" approach.

2) It relieves the AI of the responsibility of rearranging workers
   in response to enemy activity.

    Thanks for listening.  I hope this proposal was understandable.
If you have any questions or comments, please post them to the
list.

Eddie





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