Complete.Org: Mailing Lists: Archives: freeciv-dev: July 2000:
[Freeciv-Dev] Re: maps/projections
Home

[Freeciv-Dev] Re: maps/projections

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Marc Strous <marc_strous@xxxxxxxxxxx>, jules@xxxxxxxxxxxxxxx
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: maps/projections
From: Andrew McGuinness <cogers@xxxxxxxxx>
Date: Fri, 21 Jul 2000 08:46:52 -0700 (PDT)

OK, here's an idea:

Tiles are rectangular. All tiles have the same height (North-South).
Call it 1.

Tiles on the equator are square (width 1)

Tiles at latitude L have width 1 / ( cos L )

The tiles obviously don't line up vertically, so a tile will have:
1 neighbour each east and west

2 or 1 neighbours in the direction away from the equator, where 
tiles are wider

2 or 3 negbours in the direction towards the equator, where tiles are 
narrower.

Movement rules are as normal, in that moving to any neighbouring tile 
costs 1 (or depending on terrain), but it means that the playing area 
is a sphere not a cylinder.  Lines of latitude are therefore not the
most direct routes when you get further from the equator.

There are a few options of displaying it:

a) As described, equatorial tiles are square, polar ones stretched
horizontally (Mercator's projection)

b) As described, but the centre of the map being displayed has square
tiles, and tiles at the top and bottom of the screen are stretched or
squashed as appropriate. 

c) As described, but stretch tiles vertically to give every tile the
same area (Phillips projection)

Also, you could have the width of tiles vary row by row, or have blocks
of say 10 rows have the same width, to make the map simpler.  I think
this, in combination with (b) above, would be the best.

The calculation of adjacency would be a bit of a pain, but not impossible.
The representation should be fairly easy, provided we can stretch the
images easily enough.

In terms of gameplay, this is more like playing on a hexagonal grid than
a square one, in that it removes the speed advantage you can get by
moving diagonally across corners.

Handling the area around the pole itself is tricky.  If we actually
include
the pole, it has a width of infinity - i.e. one tile with no east-west
neighbours.  Depending on the actual size of the map, it is likely to have
only a few squares next to it "down", and the *same* squares "up".  I
am open to suggestions on this one.

--- Marc Strous <marc_strous@xxxxxxxxxxx> wrote:
> 
> Jules>Now consider the grid squares 1,2,3,4. You will note that 1 is in
> fact 
> 3, if you approach it from 2.  But it is 2 if you approach it from 
> 3.Paradox.
> >Of the squares labelled (1,2,3,4) only three of them are genuinely
> >distinct squares. (2,3,4) . Worse still, which square '1' represents
> >depends which direction you approach from.
> 
> you're right. i'll try to come up with something better
> 
> Martin>This is all very well, but how does it make the game better? I
> see it 
> as nothing but an unnecessary pain.
> 
> Well, when you're sitting near one of the poles, it would make a big 
> difference, compared to the current blunt edge of the map. Also, when
[...]

=====
Andrew McGuinness                Luton, UK
andrew_mcguinness@xxxxxxxxxxx

__________________________________________________
Do You Yahoo!?
Get Yahoo! Mail ? Free email you can access from anywhere!
http://mail.yahoo.com/



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