Complete.Org: Mailing Lists: Archives: freeciv: January 2003:
[Freeciv] Re: world as a globe
Home

[Freeciv] Re: world as a globe

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv@xxxxxxxxxxx
Subject: [Freeciv] Re: world as a globe
From: Reinier Post <rp@xxxxxxxxxx>
Date: Mon, 20 Jan 2003 14:41:40 +0100

On Sat, Jan 18, 2003 at 09:53:55AM -0500, Ross W. Wetmore wrote:
> At 08:03 PM 03/01/15 +0100, Reinier Post wrote:
> >
> >On Mon, Jan 13, 2003 at 03:42:18AM -0500, Ross W. Wetmore wrote:
> >
> >> One can map a hexagonal grid onto a sphere maintaining uniform 
> >> distances and orientations.
> >
> >No way.  Can you explain further?
> > 
> >-- 
> >Reinier
> 
> If you think of 0 and 4 as being the poles, and 2 the equator with
> 0-4 being some sort of latitude or distance from the pole, then a
> fully expanded sphere looks like this where in fact the star 
> shaped points represent the backside hemisphere. Note 4 is an
> equivalent point (1/6th of a real tile, and 3s are half tiles
> made by the flattening cut.
> 
>                4
>               3 3
>          4 3 2 2 2 3 4 
>           3 2 1 1 2 3 
>            2 1 0 1 2   
>           3 2 1 1 2 3 
>          4 3 2 2 2 3 4 
>               3 3
>                4

This is hexagon of which both sides are used, wrapping around the edges.
A slightly better approximation of a sphere than doing this with a
rectangle (which produces a torus), and certainly something I would
enjoy playing Freeciv on, but it's not a real sphere.

> One would probably represent this as two hemispherical maps in the
> following way as this gets all the wrapping/movement relationships
> more or less right without too much brain strain. The <==> is meant
> to indicate that the 2s along those mirror image edges are half-tiles
> or equivalent positions.
> 
>              2 2 2   <==>    2 2 2    
>             2 1 1 2  <==>   2 3 3 2   
>            2 1 0 1 2 <==>  2 3 4 3 2   
>             2 1 1 2  <==>   2 3 3 2   
>              2 2 2   <==>    2 2 2     

I think the only way to make this playable is to allow the user to
view the complete neighbourhood of every tile as well as possible.

So the starred display is better already; two stars can be displayed
(one the flip side of the other) to make it even better; but it's
probably better to make better use of the 2D space available, e.g. by
doing something like this:

       1 1 1 1  |  1 1 2
      1 2 2 2 1 | 1 2 2 2 1
     1 2 3 3 2 1|1 2 3 3 2 1
    1 2 3 4 3 2 2 2 3 4 3 2 1
     1 2 3 3 2 1 1 2 3 3 2 1
      1 2 2 2 1 0 1 2 2 2 1
       1 1 1 2 1 1 2 1 1 1
          _/1 2 2 2 1\_
        _/ 1 2 3 3 2 1 \_
          1 2 3 4 3 2 1
           1 2 3 3 2 1
            1 2 2 2 1
             1 1 1 1

Here one side is in the middle, while the flip side is replicated 3 times.
There is an opposite view which reverses them.  You'd probably want to
have both open simultaneuosly in order to get a good view of the situation
near the corner points.

In any case, in order to support playing on this sort of map, Freeciv's
interface would need to regain the capability to display the same tile
multiple times.  (It used to do this, except that it neglected to keep
all of them fully up to date.)

> Such a "globe" can spin but there are only six representable views
> along each of the three spin axes.
> 
> One might do better with a duodecahedron model (12-fold symmetry).

Even better is an icosahedron model.  Whatever you do, you are going
to end up with a manifold with tiled, flat sides.  As I said when this
whole discussion on extended topologies started, the topology of a sphere
cannot be arbitrarily approximated in this way.  In order to do that
you have to drop the manifold model and take a different approach; for
example, drop an arbitrary number of points on the surface of a sphere,
distribute them as evenly as possible with a spring layout algorithm,
determine the adjacency relation, and project the resulting adjacency
graph with a generic graph layout algorithm.  (One that projects fragments
of the map onto separate views, rather than trying to project everything
onto a single view.)

Having this would increase Freeciv's coolness factor, but I don't think
the resulting boards would be very popular for playing.

> Cheers,
> RossW
> =====

-- 
Reinier


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