Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2002:
[Freeciv-Dev] Re: nontransitive obsolescence (was: units.ruleset docu pa

[Freeciv-Dev] Re: nontransitive obsolescence (was: units.ruleset docu pa

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: nontransitive obsolescence (was: units.ruleset docu patch 2)
From: Reinier Post <rp@xxxxxxxxxx>
Date: Sat, 16 Mar 2002 11:12:14 +0100

On Fri, Mar 15, 2002 at 09:53:36PM -0800, Raahul Kumar wrote:

> > If Pikemen obsolete Phalanx (i.e. once you can build Pikemen you *can
> > no longer build* Phalanx!) why would you be required to know how to
> > build Phalanx in order to upgrade anything to Pikemen?  If we can train
> > new recruits as Pikemen, why should it require the knowledge how to train
> > them as Phalanx (*which we can no longer apply to train Phalanx*) before
> > existing units can be retrained to be Pikemen?  It's nonsensical.
> Interesting. That means people can always maintain an up-to-date force if they
> have the cash just by paying for upgrades.

Yes, but you can already disband the old unit and buy a new one at little
extra cost.  Only automated use can bring a signficant benefit.  And even
then we are talking about infrequent situations.  Stealing Gunpowder to
upgrade your Warriors or Phalanx to Musketeers would be a major feat,
worthy of reward, from a gameplaying point of view.

> > > I fully agree with your proposal. The alternative is to make bronze
> > > working(pre-req for phalanx) one of the pre-reqs for pikemen. This neatly
> > > solves the entire issue.
> > 
> > It depends on what you mean by 'neat'.
> > 
> > This feature adds expressive power: it causes nontransitive obsolescence
> > relations to differ, in the game, from their transitive closures.
> > The main effect: it limits the power of Leonardo's on techs a player
> > hasn't obtained by researching their full paths.
> I doubt that. By the time Leonardo's available(invention), the player would
> normally have no warriors.

No, but having each of 100 Phalanx automatically upgraded to Musketeers
can give you some serious protection from Ironclad-induced decay on the
outskirts of your citypox empire.  It's not likely to decide a game or

If you even doubt *this* effect, can you mention any other situation in
which the difference would matter to gameplay?

> > But these differences are counterintuitive and only surface in exceptional
> > circumstances.  There ought to be warnings both to the unsuspecting user
> > who fails to see his units upgraded, and to the ruleset author who
> > unwittingly creates these nontransitive obsolescence relations.
> > 
> I think the problem lies in the tech tree. Every other unit in Freeciv cannot
> be
> produced before researching its predecessor unless you trade techs. The bronze
> working fix would make pikemen the same as all other units.

You do not understand what I wrote.  Perhaps I should be more explicit.

> > I think it would be much better to use the transitive closure.

A relation is transitive if for any a,b,c, if a relates to b and b to c,
a also relates to c.  You are saying the problem arises because in the
standard tech tree upgrading relation is not transitive when b is Pikemen,
and clim that the proper solution is to fix it by adding the a to c relation
there.  I dispute that: the problem is that the upgrading relation must be
transitive in general, everywhere in a tech tree (e.g. for b is Phalanx)
and in every tech tree (not only the default one).  And your solution
(add a 'bridge' to the tech tree whenever a problem occurs to its author)
doesn't really fix the problem, because users and even tech tree authors
are very likely to assume that the upgrading relation is made transitive
in the code, without requiring explicit transitive additions to the
tech trees.


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