Freeciv
Advertisement

sub-article in the series Distances in Freeciv

Definition[]

The Real Distance between two tiles on a map is the number of moves it takes to arrive from the first tile to the destination tile. This is unlimited and assumes no terrain restrictions, such as the movement of an aeroplane.

On a map of square tiles, if the destination tile is x tiles horizontal distance and y tiles vertical distance, the real distance will always be whichver value is least, among x and y.


Real Distance in Freeciv[]

Real Distance is one of several different ways Freeciv may calculate distance for certain in-game effects and mechanics. It is used in distance calculation for the following mechanics:

  • Action legality based on distance of tile target
  • Paratrooper range
  • City corruption and waste (distance from a capital)
  • Trade Revenue (if using classic traderevenuestyle setting)
  • Migration (from city to city, distance calculations)
  • dispersion (game setting)
  • Attack, legal distance range
  • Bombard (Special Attack), legal distance range

Graphic Illustration[]

Chebyshev distance

Real Distance


Hex Maps[]

On hexagonal tiled maps, Real Distance is essentially the same as on square tiled maps: the least number of moves it takes to get between Tile A and Tile B.

Notes[]

  • In Freeciv server, Real Distance is rendered by the function:
    • int real_map_distance(const struct tile *tile0, const struct tile *tile1), in: common/map.c
  • The technically accurate name for Real Distance is Chebyshev Distance.
Advertisement