Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2002:
[Freeciv-Dev] Re: nation.ruleset terrain bug (PR#1554)
Home

[Freeciv-Dev] Re: nation.ruleset terrain bug (PR#1554)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: nation.ruleset terrain bug (PR#1554)
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Tue, 11 Jun 2002 17:45:36 +0200

On Tue, Jun 11, 2002 at 12:30:21PM +0200, Christian Knoke wrote:
> > Under the "new" natural city naming system a base priority is assigned 
> > to the city name (dependent on how high up it is in the name list), and 
> > this priority is modified if it has (un)matching terrain labels (there 
> > is also a small random factor, ignored here).  In the above case, Berlin 
> > will have a base priority of 100, Hamburg will be 110, and Muchen (with 
> > no terrain labels) will be 120 (lower is "better").  If you build next 
> > to a mountain, Berlin and Hamburg will get a 40% penalty to their 
> > priority (priority *= 1.4), but if the tile borders grassland (as it 
> > usually does) there will be a 40% bonus (priority /= 1.4) that cancels 
> > it out exactly.  Hamburg may get an additional bonus/penalty depending 
> > on whether the tile is on a river and borders ocean - any time you build 
> > on the mouth of a river you are probably guaranteed to get Hamburg.
> 
> Here's my suggestion:
> 
> Give points to cities.
> 
>   Give  +2 points for an adjacent tiles which matches a  predicate.
>   Give  -6 points for an adjacent tiles which matches a -predicate.
>   Give  +4 points for a center tile     which matches a  predicate.
>   Give -10 points for a center tile     which matches a -predicate
> 
>                              +river   -river
>      river on center tile      +10      -10
>   no river on center tile       -4       +4

A side note: Instead of doing *1.4 or /1.4 or adding/subtracting
points we can add/substract positions in the list. This more like the
current code and not the best-match method of Christian. So we could
have:
   Give  -0.2 positions for an adjacent tiles which matches a  predicate.
   Give  +0.6 positions for an adjacent tiles which matches a -predicate.
   Give  -0.4 positions for a center tile     which matches a  predicate.
   Give  +1.0 positions for a center tile     which matches a -predicate

These modifiers are added to the initial position in the city
list. Then the one with the top position is choosen.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "Transported to a surreal landscape, a young girl kills the first woman
  she meets and then teams up with three complete strangers to kill again."
    -- TV listing for the Wizard of Oz in the Marin Independent Journal


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