Summary: Ruleset-defined maximum city map radius (for UI,
                 Project: Freeciv
            Submitted by: jtn
            Submitted on: Thu Jan  2 14:36:06 2014
                Category: None
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 



Half-baked idea:

Since 2.3, we've had runtime variable city map radius controlled by effect
City_Radius_Sq (with the game supporting an absolute maximum radius of 5).

However, for a given ruleset, it's not feasible to determine an upper bound on
the city radius that is possible, so anything that has to be scaled by city
radius not in the context of a particular city at a particular time has to
assume the worst case (CITY_MAP_MAX_RADIUS_SQ).

This currently includes the city map UI, for instance, in
generate_citydlg_dimensions(). I also noticed it in bug #20905. It means
rulesets which don't use the maximum radius still pay for it in performance
and usability.

Proposal: have cities.ruleset define a max_city_radius (or _sq) which clips
the possible values from the City_Radius_Sq effect. Send this to the client
and use it in e.g. generate_citydlg_dimensions().

This would ameliorate one of the main current usability issues with the SDL
client, the tiny city map caused by lack of bug #15804. As such I think it
could be worth doing even on stable branches, although it would need extra
fiddly signalling for backward compatibility.

(It has the slight disadvantage that bugs and usability issues with large city
radii now only show up with non-default rulesets. Fortunately we've been
beta-testing this since 2.3.0 so should hopefully have got most of the bugs
out by now :)


Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to